summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnder Conselvan de Oliveira <ander.deoliveira@mapbox.com>2019-09-27 15:39:21 +0300
committerAnder Conselvan de Oliveira <ander.deoliveira@mapbox.com>2019-09-27 17:09:45 +0300
commitbb9b1ab62438f733ad278cb03f781116b9f3d721 (patch)
tree68afda0d516419eecb4d29601b9ff36f3487eed2
parentd90b2bb6dc2a19961e029963e591d702f70dd721 (diff)
downloadqtlocation-mapboxgl-bb9b1ab62438f733ad278cb03f781116b9f3d721.tar.gz
[core] Return enum layer property values as string
The output of Layer::getProperty is a mapbox::base::Value which is equivalent to JSON. When setting the value of an enum property via JSON its value would be a string, so it would be natural to return a string too. Also, the numbers generated depend on the enum definition. They are not part of the style spec.
-rw-r--r--include/mbgl/style/conversion_impl.hpp2
-rw-r--r--test/map/map.test.cpp6
2 files changed, 4 insertions, 4 deletions
diff --git a/include/mbgl/style/conversion_impl.hpp b/include/mbgl/style/conversion_impl.hpp
index 3e4236949e..3e1b8455e5 100644
--- a/include/mbgl/style/conversion_impl.hpp
+++ b/include/mbgl/style/conversion_impl.hpp
@@ -327,7 +327,7 @@ struct ValueFactory<T, typename std::enable_if<(!std::is_enum<T>::value && !is_l
template <typename T>
struct ValueFactory<T, typename std::enable_if<std::is_enum<T>::value>::type> {
- static Value make(T arg) { return {int64_t(arg)}; }
+ static Value make(T arg) { return {Enum<T>::toString(arg)}; }
};
template <typename T>
diff --git a/test/map/map.test.cpp b/test/map/map.test.cpp
index 5872f4ecd5..6f0f126d3d 100644
--- a/test/map/map.test.cpp
+++ b/test/map/map.test.cpp
@@ -1006,6 +1006,6 @@ TEST(Map, UniversalStyleGetter) {
StyleProperty lineCap = lineLayer->getProperty("line-cap");
ASSERT_TRUE(lineCap.value);
EXPECT_EQ(StyleProperty::Kind::Constant, lineCap.kind);
- ASSERT_TRUE(lineCap.value.getInt());
- EXPECT_EQ(mbgl::underlying_type(mbgl::style::LineCapType::Butt), *lineCap.value.getInt());
-} \ No newline at end of file
+ ASSERT_TRUE(lineCap.value.getString());
+ EXPECT_EQ(std::string("butt"), *lineCap.value.getString());
+}