diff --git a/test/style/conversion/light.test.cpp b/test/style/conversion/light.test.cpp index 092c47627..e49667f31 100644 --- a/test/style/conversion/light.test.cpp +++ b/test/style/conversion/light.test.cpp @@ -5,8 +5,10 @@ #include #include #include +#include #include #include +#include #include @@ -24,6 +26,27 @@ TEST(StyleConversion, Light) { { auto light = parseLight("{}"); ASSERT_TRUE((bool) light); + + const mbgl::JSValue colorValue("blue"); + light->setProperty("color", &colorValue); + + ASSERT_FALSE(light->getColor().isUndefined()); + ASSERT_TRUE(light->getColor().isConstant()); + ASSERT_EQ(light->getColor().asConstant(), mbgl::Color::blue()); + + const mbgl::JSValue intensityValue(0.5); + light->setProperty("intensity", &intensityValue); + ASSERT_FALSE(light->getIntensity().isUndefined()); + ASSERT_TRUE(light->getIntensity().isConstant()); + ASSERT_EQ(light->getIntensity().asConstant(), 0.5); + + mbgl::JSValue::AllocatorType allocator; + const mbgl::JSValue positionValue(std::move(mbgl::JSValue(rapidjson::kArrayType).PushBack(1.f, allocator).PushBack(2.f, allocator).PushBack(3.f, allocator).Move())); + light->setProperty("position", &positionValue); + ASSERT_FALSE(light->getPosition().isUndefined()); + ASSERT_TRUE(light->getPosition().isConstant()); + std::array expected{{ 1.f, 2.f, 3.f }}; + ASSERT_EQ(light->getPosition().asConstant(), mbgl::style::Position({ expected })); } {