diff options
author | Lucas Wojciechowski <lucas@mapbox.com> | 2018-04-10 18:25:37 -0700 |
---|---|---|
committer | Asheem Mamoowala <asheem.mamoowala@mapbox.com> | 2018-05-09 16:06:10 -0700 |
commit | aca5a8ff696030924a0b35bd415433a9b3bb3f3e (patch) | |
tree | f400cf5df674d368d2d0f6f30842d95b3ccfee1f | |
parent | 2652219801fac3b4ba54083332bb66af67984301 (diff) | |
download | qtlocation-mapboxgl-aca5a8ff696030924a0b35bd415433a9b3bb3f3e.tar.gz |
Fix render tests
-rw-r--r-- | src/mbgl/style/conversion/filter.cpp | 8 | ||||
-rw-r--r-- | src/mbgl/style/expression/compound_expression.cpp | 10 |
2 files changed, 10 insertions, 8 deletions
diff --git a/src/mbgl/style/conversion/filter.cpp b/src/mbgl/style/conversion/filter.cpp index c3af1f914d..3000b4fe3b 100644 --- a/src/mbgl/style/conversion/filter.cpp +++ b/src/mbgl/style/conversion/filter.cpp @@ -122,8 +122,8 @@ optional<Filter> Converter<Filter>::operator()(const Convertible& value, Error& return { ExpressionFilter { std::move(*expression) } }; } -std::unique_ptr<Expression> convertComparisonOp(const Convertible& values, Error& error) { - optional<std::string> op = toString(arrayMember(values, 0)); + std::unique_ptr<Expression> convertComparisonOp(const Convertible& values, Error& error, optional<std::string> opOverride = {}) { + optional<std::string> op = opOverride ? opOverride : toString(arrayMember(values, 0)); optional<std::string> property = toString(arrayMember(values, 1)); if (!property) { @@ -188,12 +188,12 @@ std::unique_ptr<Expression> convertLegacyFilter(const Convertible& values, Error return std::make_unique<Literal>(*op != "any"); } else { return ( - *op == "==" ? convertComparisonOp(values, error) : - *op == "!=" ? convertNegation(convertComparisonOp(values, error), error) : + *op == "==" || *op == "<" || *op == ">" || *op == "<=" || *op == ">=" ? convertComparisonOp(values, error) : + *op == "!=" ? convertNegation(convertComparisonOp(values, error, {"=="}), error) : *op == "any" ? createExpression("any", createLegacyFilter2Array(values, error, 1), error) : *op == "all" ? createExpression("all", createLegacyFilter2Array(values, error, 1), error) : *op == "none" ? convertNegation(createExpression("any", createLegacyFilter2Array(values, error, 1), error), error) : diff --git a/src/mbgl/style/expression/compound_expression.cpp b/src/mbgl/style/expression/compound_expression.cpp index 72d1643a39..cb7cd8ebbf 100644 --- a/src/mbgl/style/expression/compound_expression.cpp +++ b/src/mbgl/style/expression/compound_expression.cpp @@ -252,6 +252,8 @@ optional<double> featurePropertyAsDouble(EvaluationContext params, const std::st if (!property) return optional<double>(); return property->match( [](double value) { return value; }, + [](uint64_t value) { return optional<double>(value); }, + [](int64_t value) { return optional<double>(value); }, [](auto) { return optional<double>(); } ); }; @@ -261,10 +263,10 @@ optional<double> featureIdAsDouble(EvaluationContext params) { auto id = params.feature->getID(); if (!id) return optional<double>(); return id->match( - [](std::string) { return optional<double>(); }, - [](uint64_t value) { return optional<double>(static_cast<double>(value)); }, - [](int64_t value) { return optional<double>(static_cast<double>(value)); }, - [](double value) { return optional<double>(value); } + [](double value) { return value; }, + [](uint64_t value) { return optional<double>(static_cast<double>(value)); }, + [](int64_t value) { return optional<double>(static_cast<double>(value)); }, + [](auto) { return optional<double>(); } ); }; |