#include #include #include #include #include #include using namespace mbgl; using namespace mbgl::style; using namespace mbgl::style::conversion; using namespace std::literals::chrono_literals; std::unique_ptr parseLayer(const std::string& src) { JSDocument doc; doc.Parse<0>(src); Error error; return std::move(*convert, JSValue>(doc, error)); } TEST(StyleConversion, LayerTransition) { auto layer = parseLayer(R"JSON({ "type": "background", "id": "background", "paint": { "background-color-transition": { "duration": 400, "delay": 500 } }, "paint.class": { "background-color-transition": { "duration": 100 } } })JSON"); ASSERT_EQ(400ms, *layer->as()->impl->cascading .get().getTransition({}).duration); ASSERT_EQ(500ms, *layer->as()->impl->cascading .get().getTransition({}).delay); ASSERT_EQ(100ms, *layer->as()->impl->cascading .get().getTransition({"class"}).duration); ASSERT_FALSE(bool(layer->as()->impl->cascading .get().getTransition({"class"}).delay)); }