From 656db7823c9359964a1c7dbbbb778ec804738e58 Mon Sep 17 00:00:00 2001 From: Valentin Shergin Date: Mon, 18 May 2020 14:04:10 -0700 Subject: [PATCH] Fabric: Changes in LayoutableShadowNodeTest Summary: One small test was added. Changelog: [Internal] Fabric-specific internal change. Reviewed By: sammy-SC Differential Revision: D21480201 fbshipit-source-id: fd6c050143fcdf27d345ee62e74c4368266e6ce0 --- .../core/tests/LayoutableShadowNodeTest.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/ReactCommon/fabric/core/tests/LayoutableShadowNodeTest.cpp b/ReactCommon/fabric/core/tests/LayoutableShadowNodeTest.cpp index 8b352952bb..83d2fa3036 100644 --- a/ReactCommon/fabric/core/tests/LayoutableShadowNodeTest.cpp +++ b/ReactCommon/fabric/core/tests/LayoutableShadowNodeTest.cpp @@ -113,6 +113,8 @@ TEST_F(LayoutableShadowNodeTest, relativeLayoutMetrics) { // A is a parent to B, A has origin {10, 10}, B has origin {10, 10}. // B's relative origin to A should be {10, 10}. // D19447900 has more about the issue. + EXPECT_EQ(relativeLayoutMetrics.frame.size.width, 100); + EXPECT_EQ(relativeLayoutMetrics.frame.size.height, 200); EXPECT_EQ(relativeLayoutMetrics.frame.origin.x, 10); EXPECT_EQ(relativeLayoutMetrics.frame.origin.y, 20); } @@ -131,7 +133,6 @@ TEST_F(LayoutableShadowNodeTest, relativeLayoutMetricsOnTransformedNode) { EXPECT_EQ(relativeLayoutMetrics.frame.origin.x, 35); EXPECT_EQ(relativeLayoutMetrics.frame.origin.y, 70); - EXPECT_EQ(relativeLayoutMetrics.frame.size.width, 50); EXPECT_EQ(relativeLayoutMetrics.frame.size.height, 100); } @@ -175,6 +176,21 @@ TEST_F(LayoutableShadowNodeTest, relativeLayoutMetricsOnSameNode) { EXPECT_EQ(relativeLayoutMetrics.frame.size.height, 200); } +TEST_F(LayoutableShadowNodeTest, relativeLayoutMetricsOnSameTransformedNode) { + auto layoutMetrics = EmptyLayoutMetrics; + layoutMetrics.frame.origin = {10, 20}; + layoutMetrics.frame.size = {100, 200}; + nodeA_->setLayoutMetrics(layoutMetrics); + nodeA_->_transform = Transform::Scale(2, 2, 1); + + auto relativeLayoutMetrics = nodeA_->getRelativeLayoutMetrics(*nodeA_, {}); + + EXPECT_EQ(relativeLayoutMetrics.frame.origin.x, 0); + EXPECT_EQ(relativeLayoutMetrics.frame.origin.y, 0); + EXPECT_EQ(relativeLayoutMetrics.frame.size.width, 200); + EXPECT_EQ(relativeLayoutMetrics.frame.size.height, 400); +} + TEST_F(LayoutableShadowNodeTest, relativeLayourMetricsOnClonedNode) { // B is cloned and mutated. auto nodeBRevision2 = std::static_pointer_cast(