Skip to content

Commit d78ceed

Browse files
test: cover decimal transform origin values in native parser
1 parent 3488e05 commit d78ceed

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

packages/react-native/ReactCommon/react/renderer/css/tests/CSSTransformOriginTest.cpp

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)