aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/core/test/firebase/firestore/core
diff options
context:
space:
mode:
Diffstat (limited to 'Firestore/core/test/firebase/firestore/core')
-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