@@ -425,4 +425,34 @@ TEST(CSSTransformOrigin, percentage_percentage) {
425425 EXPECT_EQ (origin.z , CSSLength{});
426426}
427427
428+ TEST (CSSTransformOrigin, decimal_length_length) {
429+ auto val = parseCSSProperty<CSSTransformOrigin>(" 12.5px 7.5px" );
430+ EXPECT_TRUE (std::holds_alternative<CSSTransformOrigin>(val));
431+ auto & origin = std::get<CSSTransformOrigin>(val);
432+
433+ EXPECT_TRUE (std::holds_alternative<CSSLength>(origin.x ));
434+ EXPECT_EQ (std::get<CSSLength>(origin.x ).value , 12 .5f );
435+ EXPECT_EQ (std::get<CSSLength>(origin.x ).unit , CSSLengthUnit::Px);
436+
437+ EXPECT_TRUE (std::holds_alternative<CSSLength>(origin.y ));
438+ EXPECT_EQ (std::get<CSSLength>(origin.y ).value , 7 .5f );
439+ EXPECT_EQ (std::get<CSSLength>(origin.y ).unit , CSSLengthUnit::Px);
440+
441+ EXPECT_EQ (origin.z , CSSLength{});
442+ }
443+
444+ TEST (CSSTransformOrigin, decimal_percentage_percentage) {
445+ auto val = parseCSSProperty<CSSTransformOrigin>(" 50.5% 30.2%" );
446+ EXPECT_TRUE (std::holds_alternative<CSSTransformOrigin>(val));
447+ auto & origin = std::get<CSSTransformOrigin>(val);
448+
449+ EXPECT_TRUE (std::holds_alternative<CSSPercentage>(origin.x ));
450+ EXPECT_EQ (std::get<CSSPercentage>(origin.x ).value , 50 .5f );
451+
452+ EXPECT_TRUE (std::holds_alternative<CSSPercentage>(origin.y ));
453+ EXPECT_EQ (std::get<CSSPercentage>(origin.y ).value , 30 .2f );
454+
455+ EXPECT_EQ (origin.z , CSSLength{});
456+ }
457+
428458} // namespace facebook::react
0 commit comments