diff options
author | rsgowman <rgowman@google.com> | 2018-07-13 16:22:07 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-13 16:22:07 -0400 |
commit | 920cfbfa998ca9d04cce5f7731aced7e950a3477 (patch) | |
tree | 76f62fa05240d533477707bb4cd26df6808cd523 /Firestore/core/test/firebase/firestore/core/query_test.cc | |
parent | 81ec26d4ff2f9cc295bf057167a649a34a7a11aa (diff) |
Initial (incomplete) implementation of f:f:core::Filter (#1495)
And RelationFilter subclass.
Used to implement the next step in core::Query.
Diffstat (limited to 'Firestore/core/test/firebase/firestore/core/query_test.cc')
-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 |