summaryrefslogtreecommitdiff
path: root/test/api/query.test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/api/query.test.cpp')
-rw-r--r--test/api/query.test.cpp29
1 files changed, 24 insertions, 5 deletions
diff --git a/test/api/query.test.cpp b/test/api/query.test.cpp
index 4d2bf00f67..b42046fb48 100644
--- a/test/api/query.test.cpp
+++ b/test/api/query.test.cpp
@@ -10,6 +10,7 @@
#include <mbgl/util/run_loop.hpp>
using namespace mbgl;
+using namespace mbgl::style;
namespace {
@@ -39,7 +40,7 @@ TEST(Query, QueryRenderedFeatures) {
QueryTest test;
auto features1 = test.map.queryRenderedFeatures(test.map.pixelForLatLng({ 0, 0 }));
- EXPECT_EQ(features1.size(), 3u);
+ EXPECT_EQ(features1.size(), 4u);
auto features2 = test.map.queryRenderedFeatures(test.map.pixelForLatLng({ 9, 9 }));
EXPECT_EQ(features2.size(), 0u);
@@ -50,15 +51,33 @@ TEST(Query, QueryRenderedFeaturesFilterLayer) {
auto zz = test.map.pixelForLatLng({ 0, 0 });
- auto features1 = test.map.queryRenderedFeatures(zz, {{ "layer1"}});
+ auto features1 = test.map.queryRenderedFeatures(zz, {{{ "layer1"}}, {}});
EXPECT_EQ(features1.size(), 1u);
- auto features2 = test.map.queryRenderedFeatures(zz, {{ "layer1", "layer2" }});
+ auto features2 = test.map.queryRenderedFeatures(zz, {{{ "layer1", "layer2" }}, {}});
EXPECT_EQ(features2.size(), 2u);
- auto features3 = test.map.queryRenderedFeatures(zz, {{ "foobar" }});
+ auto features3 = test.map.queryRenderedFeatures(zz, {{{ "foobar" }}, {}});
EXPECT_EQ(features3.size(), 0u);
- auto features4 = test.map.queryRenderedFeatures(zz, {{ "foobar", "layer3" }});
+ auto features4 = test.map.queryRenderedFeatures(zz, {{{ "foobar", "layer3" }}, {}});
EXPECT_EQ(features4.size(), 1u);
}
+
+TEST(Query, QueryRenderedFeaturesFilter) {
+ QueryTest test;
+
+ auto zz = test.map.pixelForLatLng({ 0, 0 });
+
+ const EqualsFilter eqFilter = { "key1", std::string("value1") };
+ auto features1 = test.map.queryRenderedFeatures(zz, {{}, { eqFilter }});
+ EXPECT_EQ(features1.size(), 1u);
+
+ const IdentifierNotEqualsFilter idNotEqFilter = { std::string("feature1") };
+ auto features2 = test.map.queryRenderedFeatures(zz, {{{ "layer4" }}, { idNotEqFilter }});
+ EXPECT_EQ(features2.size(), 0u);
+
+ const GreaterThanFilter gtFilter = { "key2", 1.0 };
+ auto features3 = test.map.queryRenderedFeatures(zz, {{ }, { gtFilter }});
+ EXPECT_EQ(features3.size(), 1u);
+}