aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/core/test/firebase/firestore/core/query_test.cc
diff options
context:
space:
mode:
authorGravatar rsgowman <rgowman@google.com>2018-07-13 16:22:07 -0400
committerGravatar GitHub <noreply@github.com>2018-07-13 16:22:07 -0400
commit920cfbfa998ca9d04cce5f7731aced7e950a3477 (patch)
tree76f62fa05240d533477707bb4cd26df6808cd523 /Firestore/core/test/firebase/firestore/core/query_test.cc
parent81ec26d4ff2f9cc295bf057167a649a34a7a11aa (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.cc15
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