#include #include #include #include #include #include using namespace mbgl; using namespace mbgl::style; using namespace mbgl::style::conversion; using namespace std::literals::chrono_literals; auto parseLayer(const std::string& src) { JSDocument doc; doc.Parse<0>(src); return convert, JSValue>(doc); } 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->paint.cascading .get().getTransition({}).duration); ASSERT_EQ(500ms, *(*layer)->as()->impl->paint.cascading .get().getTransition({}).delay); ASSERT_EQ(100ms, *(*layer)->as()->impl->paint.cascading .get().getTransition({"class"}).duration); ASSERT_FALSE(bool((*layer)->as()->impl->paint.cascading .get().getTransition({"class"}).delay)); }