From ffea0af9bf0b8cb91a17b58645f9a4c34bc3e8e5 Mon Sep 17 00:00:00 2001 From: Alexander Shalamov Date: Thu, 16 Apr 2020 16:52:39 +0300 Subject: Add generic setter for 'source' property - Add setter for 'source' property - Test generic setters via setProperty method --- test/style/conversion/layer.test.cpp | 16 ++++++++++++++++ test/style/style_layer.test.cpp | 10 +++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/style/conversion/layer.test.cpp b/test/style/conversion/layer.test.cpp index 742f902168..079d7ce5a5 100644 --- a/test/style/conversion/layer.test.cpp +++ b/test/style/conversion/layer.test.cpp @@ -148,4 +148,20 @@ TEST(StyleConversion, SetGenericProperties) { EXPECT_EQ(12.0f, layer->getMinZoom()); EXPECT_EQ(18.0f, layer->getMaxZoom()); EXPECT_EQ("landmarks", layer->getSourceLayer()); + + const JSValue newComposite("composite_2"); + layer->setProperty("source", Convertible(&newComposite)); + EXPECT_EQ("composite_2", layer->getSourceID()); + + const JSValue newSourceLayer("poi"); + layer->setProperty("source-layer", Convertible(&newSourceLayer)); + EXPECT_EQ("poi", layer->getSourceLayer()); + + const JSValue newMinZoom(1.0f); + layer->setProperty("minzoom", Convertible(&newMinZoom)); + EXPECT_EQ(1.0f, layer->getMinZoom()); + + const JSValue newMaxZoom(22.0f); + layer->setProperty("maxzoom", Convertible(&newMaxZoom)); + EXPECT_EQ(22.0f, layer->getMaxZoom()); } \ No newline at end of file diff --git a/test/style/style_layer.test.cpp b/test/style/style_layer.test.cpp index 33573636d7..84bad2830b 100644 --- a/test/style/style_layer.test.cpp +++ b/test/style/style_layer.test.cpp @@ -1,5 +1,7 @@ #include #include +#include +#include #include #include #include @@ -28,6 +30,7 @@ using namespace mbgl; using namespace mbgl::style; +using namespace mbgl::style::conversion; using namespace expression; using namespace expression::dsl; using namespace std::literals::string_literals; @@ -60,6 +63,11 @@ class MockLayoutProperties : public Properties {}; class MockPaintProperties : public Properties {}; using MockOverrides = FormatSectionOverrides; +mbgl::style::Filter parseFilter(const std::string& expression) { + Error error; + return *convertJSON(expression, error); +} + } // namespace TEST(Layer, BackgroundProperties) { @@ -221,7 +229,7 @@ TEST(Layer, Observer) { EXPECT_EQ(layer.get(), &layer_); filterChanged = true; }; - layer->setFilter(Filter()); + layer->setFilter(parseFilter(R"(["==", "foo", "bar"])")); EXPECT_TRUE(filterChanged); // Notifies observer on visibility change. -- cgit v1.2.1