diff options
author | Bruno de Oliveira Abinader <brunoabinader@gmail.com> | 2015-06-22 22:45:42 +0300 |
---|---|---|
committer | Bruno de Oliveira Abinader <brunoabinader@gmail.com> | 2015-06-22 22:46:37 +0300 |
commit | 7bfae2a1a557d10e532304822da77c3f13566749 (patch) | |
tree | 4f6b613f824f38dd9c9b691f0034dc08fc0c7777 | |
parent | 43d69b6a65a3ee05f41ed13ac5bf2ca943075e65 (diff) | |
download | qtlocation-mapboxgl-7bfae2a1a557d10e532304822da77c3f13566749.tar.gz |
Fix result value from parseProperty when T = std::array<float, 2>
-rw-r--r-- | src/mbgl/style/style_parser.cpp | 4 | ||||
-rw-r--r-- | test/fixtures/style_parser/line-translate.info.json | 7 | ||||
-rw-r--r-- | test/fixtures/style_parser/line-translate.style.json | 18 |
3 files changed, 27 insertions, 2 deletions
diff --git a/src/mbgl/style/style_parser.cpp b/src/mbgl/style/style_parser.cpp index a0410dc0a6..bcaa6a1e34 100644 --- a/src/mbgl/style/style_parser.cpp +++ b/src/mbgl/style/style_parser.cpp @@ -286,7 +286,7 @@ std::tuple<bool, std::array<float, 2>> StyleParser::parseProperty(JSVal value, c float first = value[rapidjson::SizeType(0)].GetDouble(); float second = value[rapidjson::SizeType(1)].GetDouble(); - return std::tuple<bool, std::array<float, 2>> { false, {{ first, second }} }; + return std::tuple<bool, std::array<float, 2>> { true, {{ first, second }} }; } else { Log::Warning(Event::ParseStyle, "value must be array of two numbers"); return std::tuple<bool, std::array<float, 2>> { false, {{ 0.0f, 0.0f }} }; @@ -367,7 +367,7 @@ std::tuple<bool, std::vector<std::pair<float, T>>> StyleParser::parseStops(JSVal template <typename T> std::tuple<bool, Function<T>> StyleParser::parseFunction(JSVal value, const char *property_name) { if (!value.IsObject()) { - return std::tuple<bool, Function<T>> { true, ConstantFunction<T>(std::get<1>(parseProperty<T>(value, property_name))) }; + return parseProperty<T>(value, property_name); } if (!value.HasMember("stops")) { diff --git a/test/fixtures/style_parser/line-translate.info.json b/test/fixtures/style_parser/line-translate.info.json new file mode 100644 index 0000000000..3d9a908eb4 --- /dev/null +++ b/test/fixtures/style_parser/line-translate.info.json @@ -0,0 +1,7 @@ +{ + "default": { + "log": [ + [1, "WARNING", "ParseStyle", "value must be array of two numbers"] + ] + } +} diff --git a/test/fixtures/style_parser/line-translate.style.json b/test/fixtures/style_parser/line-translate.style.json new file mode 100644 index 0000000000..3c079f3520 --- /dev/null +++ b/test/fixtures/style_parser/line-translate.style.json @@ -0,0 +1,18 @@ +{ + "version": 6, + "sources": { + "mapbox": { + "type": "vector", + "url": "mapbox://mapbox.mapbox-terrain-v1,mapbox.mapbox-streets-v5", + "maxzoom": 14 + } + }, + "layers": [{ + "id": "line_translate_example", + "type": "line", + "source": "mapbox", + "paint": { + "line-translate": null + } + }] +} |