summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Wojciechowski <lucas@mapbox.com>2018-04-23 15:28:19 -0700
committerAsheem Mamoowala <asheem.mamoowala@mapbox.com>2018-05-09 16:08:50 -0700
commit41fcbe5e8877c1f5062f29b1cebfb93148fbe7c0 (patch)
tree8925b70dfb29349f1713b05871f6e6cfe39ffea9
parentf88c3066dc8d1f3b1c251a0ed3d8bb51ee7c3d7d (diff)
downloadqtlocation-mapboxgl-41fcbe5e8877c1f5062f29b1cebfb93148fbe7c0.tar.gz
Revive all tests
-rw-r--r--include/mbgl/style/expression/compound_expression.hpp2
-rw-r--r--src/mbgl/style/expression/compound_expression.cpp4
-rw-r--r--test/api/query.test.cpp69
-rw-r--r--test/renderer/group_by_layout.test.cpp20
4 files changed, 52 insertions, 43 deletions
diff --git a/include/mbgl/style/expression/compound_expression.hpp b/include/mbgl/style/expression/compound_expression.hpp
index adb7a3ac71..345b70c23a 100644
--- a/include/mbgl/style/expression/compound_expression.hpp
+++ b/include/mbgl/style/expression/compound_expression.hpp
@@ -141,6 +141,8 @@ ParseResult createCompoundExpression(const CompoundExpressionRegistry::Definitio
ParseResult createCompoundExpression(const std::string& name,
std::vector<std::unique_ptr<Expression>> args,
ParsingContext& ctx);
+
+ParseResult createCompoundExpression(const std::string& name, ParsingContext& ctx);
ParseResult createCompoundExpression(const std::string& name,
std::unique_ptr<Expression> arg1,
diff --git a/src/mbgl/style/expression/compound_expression.cpp b/src/mbgl/style/expression/compound_expression.cpp
index fb28eaf383..b372b4ebb0 100644
--- a/src/mbgl/style/expression/compound_expression.cpp
+++ b/src/mbgl/style/expression/compound_expression.cpp
@@ -707,6 +707,10 @@ ParseResult createCompoundExpression(const Definition& definition,
return ParseResult();
}
+ParseResult createCompoundExpression(const std::string& name, ParsingContext& ctx) {
+ return createCompoundExpression(name, std::vector<std::unique_ptr<Expression>>(), ctx);
+}
+
ParseResult createCompoundExpression(const std::string& name,
std::unique_ptr<Expression> arg1,
ParsingContext& ctx) {
diff --git a/test/api/query.test.cpp b/test/api/query.test.cpp
index 036e67af15..ffab52692b 100644
--- a/test/api/query.test.cpp
+++ b/test/api/query.test.cpp
@@ -13,6 +13,7 @@
using namespace mbgl;
using namespace mbgl::style;
+using namespace mbgl::style::expression;
namespace {
@@ -65,24 +66,24 @@ TEST(Query, QueryRenderedFeaturesFilterLayer) {
EXPECT_EQ(features4.size(), 1u);
}
-// TODO write new tests
-//TEST(Query, QueryRenderedFeaturesFilter) {
-// QueryTest test;
-//
-// auto zz = test.map.pixelForLatLng({ 0, 0 });
-//
-// const EqualsFilter eqFilter = { "key1", std::string("value1") };
-// auto features1 = test.frontend.getRenderer()->queryRenderedFeatures(zz, {{}, { eqFilter }});
-// EXPECT_EQ(features1.size(), 1u);
-//
-// const IdentifierNotEqualsFilter idNotEqFilter = { std::string("feature1") };
-// auto features2 = test.frontend.getRenderer()->queryRenderedFeatures(zz, {{{ "layer4" }}, { idNotEqFilter }});
-// EXPECT_EQ(features2.size(), 0u);
-//
-// const GreaterThanFilter gtFilter = { "key2", 1.0 };
-// auto features3 = test.frontend.getRenderer()->queryRenderedFeatures(zz, {{ }, { gtFilter }});
-// EXPECT_EQ(features3.size(), 1u);
-//}
+TEST(Query, QueryRenderedFeaturesFilter) {
+ QueryTest test;
+ ParsingContext context;
+
+ auto zz = test.map.pixelForLatLng({ 0, 0 });
+
+ const Filter eqFilter(createCompoundExpression("filter-==", createLiteral("key1"), createLiteral("value1"), context));
+ auto features1 = test.frontend.getRenderer()->queryRenderedFeatures(zz, {{}, { eqFilter }});
+ EXPECT_EQ(features1.size(), 1u);
+
+ const Filter idNotEqFilter(createCompoundExpression("!", std::move(*createCompoundExpression("filter-id-==", createLiteral("feature1"), context)), context));
+ auto features2 = test.frontend.getRenderer()->queryRenderedFeatures(zz, {{{ "layer4" }}, { idNotEqFilter }});
+ EXPECT_EQ(features2.size(), 0u);
+
+ const Filter gtFilter(createCompoundExpression("filter->", createLiteral("key2"), createLiteral(1.0), context));
+ auto features3 = test.frontend.getRenderer()->queryRenderedFeatures(zz, {{ }, { gtFilter }});
+ EXPECT_EQ(features3.size(), 1u);
+}
TEST(Query, QuerySourceFeatures) {
QueryTest test;
@@ -107,20 +108,20 @@ TEST(Query, QuerySourceFeaturesOptionValidation) {
ASSERT_EQ(features.size(), 0u);
}
-// TODO write new tests
-//TEST(Query, QuerySourceFeaturesFilter) {
-// QueryTest test;
-//
-// const EqualsFilter eqFilter = { "key1", std::string("value1") };
-// auto features1 = test.frontend.getRenderer()->querySourceFeatures("source4", {{}, { eqFilter }});
-// EXPECT_EQ(features1.size(), 1u);
-//
-// const IdentifierNotEqualsFilter idNotEqFilter = { std::string("feature1") };
-// auto features2 = test.frontend.getRenderer()->querySourceFeatures("source4", {{}, { idNotEqFilter }});
-// EXPECT_EQ(features2.size(), 0u);
-//
-// const GreaterThanFilter gtFilter = { "key2", 1.0 };
-// auto features3 = test.frontend.getRenderer()->querySourceFeatures("source4", {{}, { gtFilter }});
-// EXPECT_EQ(features3.size(), 1u);
-//}
+TEST(Query, QuerySourceFeaturesFilter) {
+ QueryTest test;
+ ParsingContext context;
+
+ const Filter eqFilter(createCompoundExpression("filter-==", createLiteral("key1"), createLiteral("value1"), context));
+ auto features1 = test.frontend.getRenderer()->querySourceFeatures("source4", {{}, { eqFilter }});
+ EXPECT_EQ(features1.size(), 1u);
+
+ const Filter idNotEqFilter(createCompoundExpression("!", std::move(*createCompoundExpression("filter-id-==", createLiteral("feature1"), context)), context));
+ auto features2 = test.frontend.getRenderer()->querySourceFeatures("source4", {{}, { idNotEqFilter }});
+ EXPECT_EQ(features2.size(), 0u);
+
+ const Filter gtFilter(createCompoundExpression("filter->", createLiteral("key2"), createLiteral(1.0), context));
+ auto features3 = test.frontend.getRenderer()->querySourceFeatures("source4", {{}, { gtFilter }});
+ EXPECT_EQ(features3.size(), 1u);
+}
diff --git a/test/renderer/group_by_layout.test.cpp b/test/renderer/group_by_layout.test.cpp
index c480b66ffa..6cf17e2279 100644
--- a/test/renderer/group_by_layout.test.cpp
+++ b/test/renderer/group_by_layout.test.cpp
@@ -5,9 +5,11 @@
#include <mbgl/style/layers/background_layer.hpp>
#include <mbgl/style/layers/circle_layer.hpp>
#include <mbgl/style/layers/line_layer.hpp>
+#include <mbgl/style/expression/compound_expression.hpp>
using namespace mbgl;
using namespace mbgl::style;
+using namespace mbgl::style::expression;
static std::vector<std::unique_ptr<RenderLayer>> toRenderLayers(const std::vector<std::unique_ptr<Layer>>& layers) {
std::vector<std::unique_ptr<RenderLayer>> result;
@@ -35,15 +37,15 @@ TEST(GroupByLayout, UnrelatedType) {
ASSERT_EQ(2u, result.size());
}
-// TODO write new test
-//TEST(GroupByLayout, UnrelatedFilter) {
-// std::vector<std::unique_ptr<Layer>> layers;
-// layers.push_back(std::make_unique<LineLayer>("a", "source"));
-// layers.push_back(std::make_unique<LineLayer>("b", "source"));
-// layers[0]->as<LineLayer>()->setFilter(EqualsFilter());
-// auto result = groupByLayout(toRenderLayers(layers));
-// ASSERT_EQ(2u, result.size());
-//}
+TEST(GroupByLayout, UnrelatedFilter) {
+ std::vector<std::unique_ptr<Layer>> layers;
+ layers.push_back(std::make_unique<LineLayer>("a", "source"));
+ layers.push_back(std::make_unique<LineLayer>("b", "source"));
+ ParsingContext context;
+ layers[0]->as<LineLayer>()->setFilter(Filter(createCompoundExpression("filter-has-id", context)));
+ auto result = groupByLayout(toRenderLayers(layers));
+ ASSERT_EQ(2u, result.size());
+}
TEST(GroupByLayout, UnrelatedLayout) {
std::vector<std::unique_ptr<Layer>> layers;