StyleConversion.SetGenericProperties test

This commit is contained in:
Mikhail Pozdnyakov
2020-03-24 18:23:26 +02:00
parent 7234cb3968
commit 371af12e1f

View File

@@ -1,5 +1,6 @@
#include <mbgl/test/util.hpp>
#include <mbgl/style/conversion/filter.hpp>
#include <mbgl/style/conversion/json.hpp>
#include <mbgl/style/conversion/layer.hpp>
#include <mbgl/style/layers/background_layer_impl.hpp>
@@ -18,6 +19,11 @@ std::unique_ptr<Layer> parseLayer(const std::string& src) {
return nullptr;
}
Filter parseFilter(const std::string& expression) {
Error error;
return *convertJSON<Filter>(expression, error);
}
std::string stringifyLayer(const Value& value) {
rapidjson::StringBuffer s;
rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(s);
@@ -125,3 +131,21 @@ TEST(StyleConversion, OverrideDefaults) {
EXPECT_EQ(4u, roundTrippedObject.at("layout").getObject()->size());
EXPECT_EQ(2u, roundTrippedObject.at("paint").getObject()->size());
}
TEST(StyleConversion, SetGenericProperties) {
auto layer = parseLayer(R"JSON({
"type": "symbol",
"id": "symbol",
"source": "composite",
"source-layer": "landmarks",
"filter": ["has", "monuments"],
"minzoom": 12,
"maxzoom": 18
})JSON");
ASSERT_NE(nullptr, layer);
EXPECT_EQ(parseFilter(R"FILTER(["has", "monuments"])FILTER").serialize(), layer->getFilter().serialize());
EXPECT_EQ(12.0f, layer->getMinZoom());
EXPECT_EQ(18.0f, layer->getMaxZoom());
EXPECT_EQ("landmarks", layer->getSourceLayer());
}