Update align-content handling of overflow

Summary:
X-link: https://github.com/facebook/react-native/pull/43752

Gentest tests started failing because Chrome changed behavior of overflowed align-content container. Spec says should fallback to "safe center", which is really just "start", instead of previous "center" behavior. This changes behavior accordingly.

There is one bit where I think we are doing the wrong thing wrt alignment of flex start vs start (which we don't support yet), but couldn't repro a failing chrome test.

Changelog: [Internal]

Reviewed By: joevilches

Differential Revision: D55617689

fbshipit-source-id: 08f23d198c75f2c2f51ccaa8795289e6e4a92cb8
This commit is contained in:
Nick Gerleman
2024-04-02 04:47:09 -07:00
committed by Facebook GitHub Bot
parent f12d436314
commit 6f10656868
5 changed files with 710 additions and 121 deletions

View File

@@ -4,7 +4,7 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @generated SignedSource<<d93836c91c231c9c029763da7dc2d911>>
* @generated SignedSource<<bd8a962cdd17e27c9a61363c7e25044c>>
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAlignContentTest.html
*/
@@ -1745,6 +1745,98 @@ public class YGAlignContentTest {
assertEquals(20f, root_child0_child2.getLayoutHeight(), 0.0f);
}
@Test
public void test_align_content_space_between_wrapped_negative_space_row_reverse() {
YogaConfig config = YogaConfigFactory.create();
final YogaNode root = createNode(config);
root.setPositionType(YogaPositionType.ABSOLUTE);
root.setBorder(YogaEdge.LEFT, 60f);
root.setBorder(YogaEdge.TOP, 60f);
root.setBorder(YogaEdge.RIGHT, 60f);
root.setBorder(YogaEdge.BOTTOM, 60f);
root.setWidth(320f);
root.setHeight(320f);
final YogaNode root_child0 = createNode(config);
root_child0.setFlexDirection(YogaFlexDirection.ROW_REVERSE);
root_child0.setJustifyContent(YogaJustify.CENTER);
root_child0.setAlignContent(YogaAlign.SPACE_BETWEEN);
root_child0.setWrap(YogaWrap.WRAP);
root_child0.setHeight(10f);
root.addChildAt(root_child0, 0);
final YogaNode root_child0_child0 = createNode(config);
root_child0_child0.setWidthPercent(80f);
root_child0_child0.setHeight(20f);
root_child0.addChildAt(root_child0_child0, 0);
final YogaNode root_child0_child1 = createNode(config);
root_child0_child1.setWidthPercent(80f);
root_child0_child1.setHeight(20f);
root_child0.addChildAt(root_child0_child1, 1);
final YogaNode root_child0_child2 = createNode(config);
root_child0_child2.setWidthPercent(80f);
root_child0_child2.setHeight(20f);
root_child0.addChildAt(root_child0_child2, 2);
root.setDirection(YogaDirection.LTR);
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
assertEquals(0f, root.getLayoutX(), 0.0f);
assertEquals(0f, root.getLayoutY(), 0.0f);
assertEquals(320f, root.getLayoutWidth(), 0.0f);
assertEquals(320f, root.getLayoutHeight(), 0.0f);
assertEquals(60f, root_child0.getLayoutX(), 0.0f);
assertEquals(60f, root_child0.getLayoutY(), 0.0f);
assertEquals(200f, root_child0.getLayoutWidth(), 0.0f);
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutX(), 0.0f);
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child0.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutX(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child1.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutX(), 0.0f);
assertEquals(40f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child2.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutHeight(), 0.0f);
root.setDirection(YogaDirection.RTL);
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
assertEquals(0f, root.getLayoutX(), 0.0f);
assertEquals(0f, root.getLayoutY(), 0.0f);
assertEquals(320f, root.getLayoutWidth(), 0.0f);
assertEquals(320f, root.getLayoutHeight(), 0.0f);
assertEquals(60f, root_child0.getLayoutX(), 0.0f);
assertEquals(60f, root_child0.getLayoutY(), 0.0f);
assertEquals(200f, root_child0.getLayoutWidth(), 0.0f);
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutX(), 0.0f);
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child0.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutX(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child1.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutX(), 0.0f);
assertEquals(40f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child2.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutHeight(), 0.0f);
}
@Test
public void test_align_content_space_between_wrapped_negative_space_gap() {
YogaConfig config = YogaConfigFactory.create();
@@ -2106,17 +2198,17 @@ public class YGAlignContentTest {
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutX(), 0.0f);
assertEquals(-25f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child0.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutX(), 0.0f);
assertEquals(-5f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child1.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutX(), 0.0f);
assertEquals(15f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(40f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child2.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutHeight(), 0.0f);
@@ -2134,17 +2226,109 @@ public class YGAlignContentTest {
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutX(), 0.0f);
assertEquals(-25f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child0.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutX(), 0.0f);
assertEquals(-5f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child1.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutX(), 0.0f);
assertEquals(15f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(40f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child2.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutHeight(), 0.0f);
}
@Test
public void test_align_content_space_around_wrapped_negative_space_row_reverse() {
YogaConfig config = YogaConfigFactory.create();
final YogaNode root = createNode(config);
root.setPositionType(YogaPositionType.ABSOLUTE);
root.setBorder(YogaEdge.LEFT, 60f);
root.setBorder(YogaEdge.TOP, 60f);
root.setBorder(YogaEdge.RIGHT, 60f);
root.setBorder(YogaEdge.BOTTOM, 60f);
root.setWidth(320f);
root.setHeight(320f);
final YogaNode root_child0 = createNode(config);
root_child0.setFlexDirection(YogaFlexDirection.ROW_REVERSE);
root_child0.setJustifyContent(YogaJustify.CENTER);
root_child0.setAlignContent(YogaAlign.SPACE_AROUND);
root_child0.setWrap(YogaWrap.WRAP);
root_child0.setHeight(10f);
root.addChildAt(root_child0, 0);
final YogaNode root_child0_child0 = createNode(config);
root_child0_child0.setWidthPercent(80f);
root_child0_child0.setHeight(20f);
root_child0.addChildAt(root_child0_child0, 0);
final YogaNode root_child0_child1 = createNode(config);
root_child0_child1.setWidthPercent(80f);
root_child0_child1.setHeight(20f);
root_child0.addChildAt(root_child0_child1, 1);
final YogaNode root_child0_child2 = createNode(config);
root_child0_child2.setWidthPercent(80f);
root_child0_child2.setHeight(20f);
root_child0.addChildAt(root_child0_child2, 2);
root.setDirection(YogaDirection.LTR);
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
assertEquals(0f, root.getLayoutX(), 0.0f);
assertEquals(0f, root.getLayoutY(), 0.0f);
assertEquals(320f, root.getLayoutWidth(), 0.0f);
assertEquals(320f, root.getLayoutHeight(), 0.0f);
assertEquals(60f, root_child0.getLayoutX(), 0.0f);
assertEquals(60f, root_child0.getLayoutY(), 0.0f);
assertEquals(200f, root_child0.getLayoutWidth(), 0.0f);
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutX(), 0.0f);
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child0.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutX(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child1.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutX(), 0.0f);
assertEquals(40f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child2.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutHeight(), 0.0f);
root.setDirection(YogaDirection.RTL);
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
assertEquals(0f, root.getLayoutX(), 0.0f);
assertEquals(0f, root.getLayoutY(), 0.0f);
assertEquals(320f, root.getLayoutWidth(), 0.0f);
assertEquals(320f, root.getLayoutHeight(), 0.0f);
assertEquals(60f, root_child0.getLayoutX(), 0.0f);
assertEquals(60f, root_child0.getLayoutY(), 0.0f);
assertEquals(200f, root_child0.getLayoutWidth(), 0.0f);
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutX(), 0.0f);
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child0.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutX(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child1.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutX(), 0.0f);
assertEquals(40f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child2.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutHeight(), 0.0f);
}
@@ -2200,17 +2384,17 @@ public class YGAlignContentTest {
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutX(), 0.0f);
assertEquals(-35f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child0.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutX(), 0.0f);
assertEquals(-5f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(30f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child1.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutX(), 0.0f);
assertEquals(25f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(60f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child2.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutHeight(), 0.0f);
@@ -2228,17 +2412,17 @@ public class YGAlignContentTest {
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutX(), 0.0f);
assertEquals(-35f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child0.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutX(), 0.0f);
assertEquals(-5f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(30f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child1.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutX(), 0.0f);
assertEquals(25f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(60f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child2.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutHeight(), 0.0f);
}
@@ -2510,17 +2694,17 @@ public class YGAlignContentTest {
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutX(), 0.0f);
assertEquals(-25f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child0.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutX(), 0.0f);
assertEquals(-5f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child1.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutX(), 0.0f);
assertEquals(15f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(40f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child2.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutHeight(), 0.0f);
@@ -2538,17 +2722,17 @@ public class YGAlignContentTest {
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutX(), 0.0f);
assertEquals(-25f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child0.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutX(), 0.0f);
assertEquals(-5f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child1.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutX(), 0.0f);
assertEquals(15f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(40f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child2.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutHeight(), 0.0f);
}
@@ -2604,17 +2788,17 @@ public class YGAlignContentTest {
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutX(), 0.0f);
assertEquals(-35f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child0.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutX(), 0.0f);
assertEquals(-5f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(30f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child1.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutX(), 0.0f);
assertEquals(25f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(60f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child2.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutHeight(), 0.0f);
@@ -2632,17 +2816,17 @@ public class YGAlignContentTest {
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutX(), 0.0f);
assertEquals(-35f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child0.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child0.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutX(), 0.0f);
assertEquals(-5f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(30f, root_child0_child1.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child1.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutX(), 0.0f);
assertEquals(25f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(60f, root_child0_child2.getLayoutY(), 0.0f);
assertEquals(160f, root_child0_child2.getLayoutWidth(), 0.0f);
assertEquals(20f, root_child0_child2.getLayoutHeight(), 0.0f);
}
@@ -4230,12 +4414,12 @@ public class YGAlignContentTest {
assertEquals(300f, root.getLayoutHeight(), 0.0f);
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
assertEquals(-50f, root_child0.getLayoutY(), 0.0f);
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
assertEquals(400f, root_child0.getLayoutWidth(), 0.0f);
assertEquals(200f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
assertEquals(150f, root_child1.getLayoutY(), 0.0f);
assertEquals(200f, root_child1.getLayoutY(), 0.0f);
assertEquals(400f, root_child1.getLayoutWidth(), 0.0f);
assertEquals(200f, root_child1.getLayoutHeight(), 0.0f);
@@ -4248,12 +4432,12 @@ public class YGAlignContentTest {
assertEquals(300f, root.getLayoutHeight(), 0.0f);
assertEquals(100f, root_child0.getLayoutX(), 0.0f);
assertEquals(-50f, root_child0.getLayoutY(), 0.0f);
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
assertEquals(400f, root_child0.getLayoutWidth(), 0.0f);
assertEquals(200f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(100f, root_child1.getLayoutX(), 0.0f);
assertEquals(150f, root_child1.getLayoutY(), 0.0f);
assertEquals(200f, root_child1.getLayoutY(), 0.0f);
assertEquals(400f, root_child1.getLayoutWidth(), 0.0f);
assertEquals(200f, root_child1.getLayoutHeight(), 0.0f);
}
@@ -4296,12 +4480,12 @@ public class YGAlignContentTest {
assertEquals(300f, root.getLayoutHeight(), 0.0f);
assertEquals(7f, root_child0.getLayoutX(), 0.0f);
assertEquals(-50f, root_child0.getLayoutY(), 0.0f);
assertEquals(7f, root_child0.getLayoutY(), 0.0f);
assertEquals(400f, root_child0.getLayoutWidth(), 0.0f);
assertEquals(200f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(7f, root_child1.getLayoutX(), 0.0f);
assertEquals(150f, root_child1.getLayoutY(), 0.0f);
assertEquals(207f, root_child1.getLayoutY(), 0.0f);
assertEquals(400f, root_child1.getLayoutWidth(), 0.0f);
assertEquals(200f, root_child1.getLayoutHeight(), 0.0f);
@@ -4314,12 +4498,12 @@ public class YGAlignContentTest {
assertEquals(300f, root.getLayoutHeight(), 0.0f);
assertEquals(93f, root_child0.getLayoutX(), 0.0f);
assertEquals(-50f, root_child0.getLayoutY(), 0.0f);
assertEquals(7f, root_child0.getLayoutY(), 0.0f);
assertEquals(400f, root_child0.getLayoutWidth(), 0.0f);
assertEquals(200f, root_child0.getLayoutHeight(), 0.0f);
assertEquals(93f, root_child1.getLayoutX(), 0.0f);
assertEquals(150f, root_child1.getLayoutY(), 0.0f);
assertEquals(207f, root_child1.getLayoutY(), 0.0f);
assertEquals(400f, root_child1.getLayoutWidth(), 0.0f);
assertEquals(200f, root_child1.getLayoutHeight(), 0.0f);
}