diff options
Diffstat (limited to 'Firestore/core/test/firebase/firestore/core')
-rw-r--r-- | Firestore/core/test/firebase/firestore/core/query_test.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Firestore/core/test/firebase/firestore/core/query_test.cc b/Firestore/core/test/firebase/firestore/core/query_test.cc index 3ac22a9..6099bee 100644 --- a/Firestore/core/test/firebase/firestore/core/query_test.cc +++ b/Firestore/core/test/firebase/firestore/core/query_test.cc @@ -17,6 +17,8 @@ #include "Firestore/core/src/firebase/firestore/core/query.h" #include "Firestore/core/src/firebase/firestore/model/document.h" +#include "Firestore/core/src/firebase/firestore/model/field_path.h" +#include "Firestore/core/src/firebase/firestore/model/field_value.h" #include "Firestore/core/src/firebase/firestore/model/resource_path.h" #include "Firestore/core/test/firebase/firestore/testutil/testutil.h" #include "gtest/gtest.h" @@ -26,7 +28,9 @@ namespace firestore { namespace core { using model::Document; +using model::FieldValue; using testutil::Doc; +using testutil::Filter; TEST(QueryTest, MatchesBasedOnDocumentKey) { Document doc1 = Doc("rooms/eros/messages/1"); @@ -52,6 +56,17 @@ TEST(QueryTest, MatchesShallowAncestorQuery) { EXPECT_FALSE(query.Matches(doc3)); } +TEST(QueryTest, EmptyFieldsAreAllowedForQueries) { + Document doc1 = Doc("rooms/eros/messages/1", 0, + {{"text", FieldValue::StringValue("msg1")}}); + Document doc2 = Doc("rooms/eros/messages/2"); + + Query query = Query::AtPath({"rooms", "eros", "messages"}) + .Filter(Filter("text", "==", "msg1")); + EXPECT_TRUE(query.Matches(doc1)); + EXPECT_FALSE(query.Matches(doc2)); +} + } // namespace core } // namespace firestore } // namespace firebase |