summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <brunoabinader@gmail.com>2015-06-22 22:45:42 +0300
committerBruno de Oliveira Abinader <brunoabinader@gmail.com>2015-06-22 22:46:37 +0300
commit7bfae2a1a557d10e532304822da77c3f13566749 (patch)
tree4f6b613f824f38dd9c9b691f0034dc08fc0c7777
parent43d69b6a65a3ee05f41ed13ac5bf2ca943075e65 (diff)
downloadqtlocation-mapboxgl-7bfae2a1a557d10e532304822da77c3f13566749.tar.gz
Fix result value from parseProperty when T = std::array<float, 2>
-rw-r--r--src/mbgl/style/style_parser.cpp4
-rw-r--r--test/fixtures/style_parser/line-translate.info.json7
-rw-r--r--test/fixtures/style_parser/line-translate.style.json18
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
+ }
+ }]
+}