From 920cfbfa998ca9d04cce5f7731aced7e950a3477 Mon Sep 17 00:00:00 2001 From: rsgowman Date: Fri, 13 Jul 2018 16:22:07 -0400 Subject: Initial (incomplete) implementation of f:f:core::Filter (#1495) And RelationFilter subclass. Used to implement the next step in core::Query. --- Firestore/core/test/firebase/firestore/core/query_test.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'Firestore/core/test/firebase/firestore/core/query_test.cc') 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 -- cgit v1.2.3