[core] Convert "legacy" filters directly into expressions (#11610)

Ports the specialized filter-* expressions from GL JS, adding them to src/mbgl/style/expression/compound_expression.cpp
This commit is contained in:
Lucas Wojciechowski
2018-05-10 12:37:14 -07:00
committed by Asheem Mamoowala
parent ee10088702
commit a4e2c1af1f
34 changed files with 586 additions and 1415 deletions

View File

@@ -1,5 +1,6 @@
#include <mbgl/test/util.hpp>
#include <mbgl/style/expression/literal.hpp>
#include <mbgl/style/conversion/stringify.hpp>
#include <mbgl/style/types.hpp>
#include <mbgl/style/layers/symbol_layer_properties.hpp>
@@ -75,8 +76,12 @@ TEST(Stringify, Value) {
}
TEST(Stringify, Filter) {
ASSERT_EQ(stringify(NullFilter()), "null");
ASSERT_EQ(stringify(EqualsFilter { "a", 1.0 }), "[\"==\",\"a\",1.0]");
using namespace mbgl::style::expression;
ASSERT_EQ(stringify(Filter()), "null");
ParsingContext context;
ASSERT_EQ(stringify(Filter(createCompoundExpression("filter-==", createLiteral("a"), createLiteral(1.0), context))), "[\"filter-==\",\"a\",1.0]");
}
TEST(Stringify, CameraFunction) {