TEST(YogaTest, rounding_feature_with_custom_measure_func_ceil) { const YGConfigRef config = YGConfigNew(); const YGNodeRef root = YGNodeNewWithConfig(config); const YGNodeRef root_child0 = YGNodeNewWithConfig(config); root_child0->setMeasureFunc(_measureCeil); YGNodeInsertChild(root, root_child0, 0); YGConfigSetPointScaleFactor(config, 1.0f); YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR); ASSERT_FLOAT_EQ(11, YGNodeLayoutGetWidth(root_child0)); ASSERT_FLOAT_EQ(11, YGNodeLayoutGetHeight(root_child0)); YGNodeFreeRecursive(root); YGConfigFree(config); }
TEST(YogaTest, padding_flex_child) { const YGConfigRef config = YGConfigNew(); const YGNodeRef root = YGNodeNewWithConfig(config); YGNodeStyleSetPadding(root, YGEdgeLeft, 10); YGNodeStyleSetPadding(root, YGEdgeTop, 10); YGNodeStyleSetPadding(root, YGEdgeRight, 10); YGNodeStyleSetPadding(root, YGEdgeBottom, 10); YGNodeStyleSetWidth(root, 100); YGNodeStyleSetHeight(root, 100); const YGNodeRef root_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetFlexGrow(root_child0, 1); YGNodeStyleSetWidth(root_child0, 10); YGNodeInsertChild(root, root_child0, 0); YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root)); ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root)); ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root)); ASSERT_FLOAT_EQ(10, YGNodeLayoutGetLeft(root_child0)); ASSERT_FLOAT_EQ(10, YGNodeLayoutGetTop(root_child0)); ASSERT_FLOAT_EQ(10, YGNodeLayoutGetWidth(root_child0)); ASSERT_FLOAT_EQ(80, YGNodeLayoutGetHeight(root_child0)); YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionRTL); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root)); ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root)); ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root)); ASSERT_FLOAT_EQ(80, YGNodeLayoutGetLeft(root_child0)); ASSERT_FLOAT_EQ(10, YGNodeLayoutGetTop(root_child0)); ASSERT_FLOAT_EQ(10, YGNodeLayoutGetWidth(root_child0)); ASSERT_FLOAT_EQ(80, YGNodeLayoutGetHeight(root_child0)); YGNodeFreeRecursive(root); YGConfigFree(config); }
TEST(YogaTest, align_self_flex_end_override_flex_start) { const YGConfigRef config = YGConfigNew(); const YGNodeRef root = YGNodeNewWithConfig(config); YGNodeStyleSetAlignItems(root, YGAlignFlexStart); YGNodeStyleSetWidth(root, 100); YGNodeStyleSetHeight(root, 100); const YGNodeRef root_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetAlignSelf(root_child0, YGAlignFlexEnd); YGNodeStyleSetWidth(root_child0, 10); YGNodeStyleSetHeight(root_child0, 10); YGNodeInsertChild(root, root_child0, 0); YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root)); ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root)); ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root)); ASSERT_FLOAT_EQ(90, YGNodeLayoutGetLeft(root_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0)); ASSERT_FLOAT_EQ(10, YGNodeLayoutGetWidth(root_child0)); ASSERT_FLOAT_EQ(10, YGNodeLayoutGetHeight(root_child0)); YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionRTL); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root)); ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root)); ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0)); ASSERT_FLOAT_EQ(10, YGNodeLayoutGetWidth(root_child0)); ASSERT_FLOAT_EQ(10, YGNodeLayoutGetHeight(root_child0)); YGNodeFreeRecursive(root); YGConfigFree(config); }
TEST(YogaTest, rounding_feature_with_custom_measure_and_fractial_matching_scale) { const YGConfigRef config = YGConfigNew(); const YGNodeRef root = YGNodeNewWithConfig(config); const YGNodeRef root_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetPosition(root_child0, YGEdgeLeft, 73.625); root_child0->setMeasureFunc(_measureFractial); YGNodeInsertChild(root, root_child0, 0); YGConfigSetPointScaleFactor(config, 2.0f); YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR); ASSERT_FLOAT_EQ(0.5, YGNodeLayoutGetWidth(root_child0)); ASSERT_FLOAT_EQ(0.5, YGNodeLayoutGetHeight(root_child0)); ASSERT_FLOAT_EQ(73.5, YGNodeLayoutGetLeft(root_child0)); YGNodeFreeRecursive(root); YGConfigFree(config); }
TEST(YogaTest, align_self_baseline) { const YGConfigRef config = YGConfigNew(); const YGNodeRef root = YGNodeNewWithConfig(config); YGNodeStyleSetFlexDirection(root, YGFlexDirectionRow); YGNodeStyleSetWidth(root, 100); YGNodeStyleSetHeight(root, 100); const YGNodeRef root_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetAlignSelf(root_child0, YGAlignBaseline); YGNodeStyleSetWidth(root_child0, 50); YGNodeStyleSetHeight(root_child0, 50); YGNodeInsertChild(root, root_child0, 0); const YGNodeRef root_child1 = YGNodeNewWithConfig(config); YGNodeStyleSetAlignSelf(root_child1, YGAlignBaseline); YGNodeStyleSetWidth(root_child1, 50); YGNodeStyleSetHeight(root_child1, 20); YGNodeInsertChild(root, root_child1, 1); const YGNodeRef root_child1_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetWidth(root_child1_child0, 50); YGNodeStyleSetHeight(root_child1_child0, 10); YGNodeInsertChild(root_child1, root_child1_child0, 0); YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root)); ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root)); ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0)); ASSERT_FLOAT_EQ(50, YGNodeLayoutGetWidth(root_child0)); ASSERT_FLOAT_EQ(50, YGNodeLayoutGetHeight(root_child0)); ASSERT_FLOAT_EQ(50, YGNodeLayoutGetLeft(root_child1)); ASSERT_FLOAT_EQ(40, YGNodeLayoutGetTop(root_child1)); ASSERT_FLOAT_EQ(50, YGNodeLayoutGetWidth(root_child1)); ASSERT_FLOAT_EQ(20, YGNodeLayoutGetHeight(root_child1)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child1_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child1_child0)); ASSERT_FLOAT_EQ(50, YGNodeLayoutGetWidth(root_child1_child0)); ASSERT_FLOAT_EQ(10, YGNodeLayoutGetHeight(root_child1_child0)); YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionRTL); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root)); ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root)); ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root)); ASSERT_FLOAT_EQ(50, YGNodeLayoutGetLeft(root_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0)); ASSERT_FLOAT_EQ(50, YGNodeLayoutGetWidth(root_child0)); ASSERT_FLOAT_EQ(50, YGNodeLayoutGetHeight(root_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child1)); ASSERT_FLOAT_EQ(40, YGNodeLayoutGetTop(root_child1)); ASSERT_FLOAT_EQ(50, YGNodeLayoutGetWidth(root_child1)); ASSERT_FLOAT_EQ(20, YGNodeLayoutGetHeight(root_child1)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child1_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child1_child0)); ASSERT_FLOAT_EQ(50, YGNodeLayoutGetWidth(root_child1_child0)); ASSERT_FLOAT_EQ(10, YGNodeLayoutGetHeight(root_child1_child0)); YGNodeFreeRecursive(root); YGConfigFree(config); }
TEST(YogaTest, android_news_feed) { const YGConfigRef config = YGConfigNew(); const YGNodeRef root = YGNodeNewWithConfig(config); YGNodeStyleSetAlignContent(root, YGAlignStretch); YGNodeStyleSetWidth(root, 1080); const YGNodeRef root_child0 = YGNodeNewWithConfig(config); YGNodeInsertChild(root, root_child0, 0); const YGNodeRef root_child0_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetAlignContent(root_child0_child0, YGAlignStretch); YGNodeInsertChild(root_child0, root_child0_child0, 0); const YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetAlignContent(root_child0_child0_child0, YGAlignStretch); YGNodeInsertChild(root_child0_child0, root_child0_child0_child0, 0); const YGNodeRef root_child0_child0_child0_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetFlexDirection( root_child0_child0_child0_child0, YGFlexDirectionRow); YGNodeStyleSetAlignContent(root_child0_child0_child0_child0, YGAlignStretch); YGNodeStyleSetAlignItems(root_child0_child0_child0_child0, YGAlignFlexStart); YGNodeStyleSetMargin(root_child0_child0_child0_child0, YGEdgeStart, 36); YGNodeStyleSetMargin(root_child0_child0_child0_child0, YGEdgeTop, 24); YGNodeInsertChild( root_child0_child0_child0, root_child0_child0_child0_child0, 0); const YGNodeRef root_child0_child0_child0_child0_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetFlexDirection( root_child0_child0_child0_child0_child0, YGFlexDirectionRow); YGNodeStyleSetAlignContent( root_child0_child0_child0_child0_child0, YGAlignStretch); YGNodeInsertChild( root_child0_child0_child0_child0, root_child0_child0_child0_child0_child0, 0); const YGNodeRef root_child0_child0_child0_child0_child0_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetAlignContent( root_child0_child0_child0_child0_child0_child0, YGAlignStretch); YGNodeStyleSetWidth(root_child0_child0_child0_child0_child0_child0, 120); YGNodeStyleSetHeight(root_child0_child0_child0_child0_child0_child0, 120); YGNodeInsertChild( root_child0_child0_child0_child0_child0, root_child0_child0_child0_child0_child0_child0, 0); const YGNodeRef root_child0_child0_child0_child0_child1 = YGNodeNewWithConfig(config); YGNodeStyleSetAlignContent( root_child0_child0_child0_child0_child1, YGAlignStretch); YGNodeStyleSetFlexShrink(root_child0_child0_child0_child0_child1, 1); YGNodeStyleSetMargin( root_child0_child0_child0_child0_child1, YGEdgeRight, 36); YGNodeStyleSetPadding( root_child0_child0_child0_child0_child1, YGEdgeLeft, 36); YGNodeStyleSetPadding(root_child0_child0_child0_child0_child1, YGEdgeTop, 21); YGNodeStyleSetPadding( root_child0_child0_child0_child0_child1, YGEdgeRight, 36); YGNodeStyleSetPadding( root_child0_child0_child0_child0_child1, YGEdgeBottom, 18); YGNodeInsertChild( root_child0_child0_child0_child0, root_child0_child0_child0_child0_child1, 1); const YGNodeRef root_child0_child0_child0_child0_child1_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetFlexDirection( root_child0_child0_child0_child0_child1_child0, YGFlexDirectionRow); YGNodeStyleSetAlignContent( root_child0_child0_child0_child0_child1_child0, YGAlignStretch); YGNodeStyleSetFlexShrink(root_child0_child0_child0_child0_child1_child0, 1); YGNodeInsertChild( root_child0_child0_child0_child0_child1, root_child0_child0_child0_child0_child1_child0, 0); const YGNodeRef root_child0_child0_child0_child0_child1_child1 = YGNodeNewWithConfig(config); YGNodeStyleSetAlignContent( root_child0_child0_child0_child0_child1_child1, YGAlignStretch); YGNodeStyleSetFlexShrink(root_child0_child0_child0_child0_child1_child1, 1); YGNodeInsertChild( root_child0_child0_child0_child0_child1, root_child0_child0_child0_child0_child1_child1, 1); const YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig(config); YGNodeStyleSetAlignContent(root_child0_child0_child1, YGAlignStretch); YGNodeInsertChild(root_child0_child0, root_child0_child0_child1, 1); const YGNodeRef root_child0_child0_child1_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetFlexDirection( root_child0_child0_child1_child0, YGFlexDirectionRow); YGNodeStyleSetAlignContent(root_child0_child0_child1_child0, YGAlignStretch); YGNodeStyleSetAlignItems(root_child0_child0_child1_child0, YGAlignFlexStart); YGNodeStyleSetMargin(root_child0_child0_child1_child0, YGEdgeStart, 174); YGNodeStyleSetMargin(root_child0_child0_child1_child0, YGEdgeTop, 24); YGNodeInsertChild( root_child0_child0_child1, root_child0_child0_child1_child0, 0); const YGNodeRef root_child0_child0_child1_child0_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetFlexDirection( root_child0_child0_child1_child0_child0, YGFlexDirectionRow); YGNodeStyleSetAlignContent( root_child0_child0_child1_child0_child0, YGAlignStretch); YGNodeInsertChild( root_child0_child0_child1_child0, root_child0_child0_child1_child0_child0, 0); const YGNodeRef root_child0_child0_child1_child0_child0_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetAlignContent( root_child0_child0_child1_child0_child0_child0, YGAlignStretch); YGNodeStyleSetWidth(root_child0_child0_child1_child0_child0_child0, 72); YGNodeStyleSetHeight(root_child0_child0_child1_child0_child0_child0, 72); YGNodeInsertChild( root_child0_child0_child1_child0_child0, root_child0_child0_child1_child0_child0_child0, 0); const YGNodeRef root_child0_child0_child1_child0_child1 = YGNodeNewWithConfig(config); YGNodeStyleSetAlignContent( root_child0_child0_child1_child0_child1, YGAlignStretch); YGNodeStyleSetFlexShrink(root_child0_child0_child1_child0_child1, 1); YGNodeStyleSetMargin( root_child0_child0_child1_child0_child1, YGEdgeRight, 36); YGNodeStyleSetPadding( root_child0_child0_child1_child0_child1, YGEdgeLeft, 36); YGNodeStyleSetPadding(root_child0_child0_child1_child0_child1, YGEdgeTop, 21); YGNodeStyleSetPadding( root_child0_child0_child1_child0_child1, YGEdgeRight, 36); YGNodeStyleSetPadding( root_child0_child0_child1_child0_child1, YGEdgeBottom, 18); YGNodeInsertChild( root_child0_child0_child1_child0, root_child0_child0_child1_child0_child1, 1); const YGNodeRef root_child0_child0_child1_child0_child1_child0 = YGNodeNewWithConfig(config); YGNodeStyleSetFlexDirection( root_child0_child0_child1_child0_child1_child0, YGFlexDirectionRow); YGNodeStyleSetAlignContent( root_child0_child0_child1_child0_child1_child0, YGAlignStretch); YGNodeStyleSetFlexShrink(root_child0_child0_child1_child0_child1_child0, 1); YGNodeInsertChild( root_child0_child0_child1_child0_child1, root_child0_child0_child1_child0_child1_child0, 0); const YGNodeRef root_child0_child0_child1_child0_child1_child1 = YGNodeNewWithConfig(config); YGNodeStyleSetAlignContent( root_child0_child0_child1_child0_child1_child1, YGAlignStretch); YGNodeStyleSetFlexShrink(root_child0_child0_child1_child0_child1_child1, 1); YGNodeInsertChild( root_child0_child0_child1_child0_child1, root_child0_child0_child1_child0_child1_child1, 1); YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root)); ASSERT_FLOAT_EQ(1080, YGNodeLayoutGetWidth(root)); ASSERT_FLOAT_EQ(240, YGNodeLayoutGetHeight(root)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0)); ASSERT_FLOAT_EQ(1080, YGNodeLayoutGetWidth(root_child0)); ASSERT_FLOAT_EQ(240, YGNodeLayoutGetHeight(root_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0_child0)); ASSERT_FLOAT_EQ(1080, YGNodeLayoutGetWidth(root_child0_child0)); ASSERT_FLOAT_EQ(240, YGNodeLayoutGetHeight(root_child0_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0_child0_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0_child0_child0)); ASSERT_FLOAT_EQ(1080, YGNodeLayoutGetWidth(root_child0_child0_child0)); ASSERT_FLOAT_EQ(144, YGNodeLayoutGetHeight(root_child0_child0_child0)); ASSERT_FLOAT_EQ(36, YGNodeLayoutGetLeft(root_child0_child0_child0_child0)); ASSERT_FLOAT_EQ(24, YGNodeLayoutGetTop(root_child0_child0_child0_child0)); ASSERT_FLOAT_EQ(1044, YGNodeLayoutGetWidth(root_child0_child0_child0_child0)); ASSERT_FLOAT_EQ(120, YGNodeLayoutGetHeight(root_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetLeft(root_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetTop(root_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 120, YGNodeLayoutGetWidth(root_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 120, YGNodeLayoutGetHeight(root_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetLeft(root_child0_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetTop(root_child0_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 120, YGNodeLayoutGetWidth(root_child0_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 120, YGNodeLayoutGetHeight(root_child0_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 120, YGNodeLayoutGetLeft(root_child0_child0_child0_child0_child1)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetTop(root_child0_child0_child0_child0_child1)); ASSERT_FLOAT_EQ( 72, YGNodeLayoutGetWidth(root_child0_child0_child0_child0_child1)); ASSERT_FLOAT_EQ( 39, YGNodeLayoutGetHeight(root_child0_child0_child0_child0_child1)); ASSERT_FLOAT_EQ( 36, YGNodeLayoutGetLeft(root_child0_child0_child0_child0_child1_child0)); ASSERT_FLOAT_EQ( 21, YGNodeLayoutGetTop(root_child0_child0_child0_child0_child1_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetWidth(root_child0_child0_child0_child0_child1_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetHeight(root_child0_child0_child0_child0_child1_child0)); ASSERT_FLOAT_EQ( 36, YGNodeLayoutGetLeft(root_child0_child0_child0_child0_child1_child1)); ASSERT_FLOAT_EQ( 21, YGNodeLayoutGetTop(root_child0_child0_child0_child0_child1_child1)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetWidth(root_child0_child0_child0_child0_child1_child1)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetHeight(root_child0_child0_child0_child0_child1_child1)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0_child0_child1)); ASSERT_FLOAT_EQ(144, YGNodeLayoutGetTop(root_child0_child0_child1)); ASSERT_FLOAT_EQ(1080, YGNodeLayoutGetWidth(root_child0_child0_child1)); ASSERT_FLOAT_EQ(96, YGNodeLayoutGetHeight(root_child0_child0_child1)); ASSERT_FLOAT_EQ(174, YGNodeLayoutGetLeft(root_child0_child0_child1_child0)); ASSERT_FLOAT_EQ(24, YGNodeLayoutGetTop(root_child0_child0_child1_child0)); ASSERT_FLOAT_EQ(906, YGNodeLayoutGetWidth(root_child0_child0_child1_child0)); ASSERT_FLOAT_EQ(72, YGNodeLayoutGetHeight(root_child0_child0_child1_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetLeft(root_child0_child0_child1_child0_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetTop(root_child0_child0_child1_child0_child0)); ASSERT_FLOAT_EQ( 72, YGNodeLayoutGetWidth(root_child0_child0_child1_child0_child0)); ASSERT_FLOAT_EQ( 72, YGNodeLayoutGetHeight(root_child0_child0_child1_child0_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetLeft(root_child0_child0_child1_child0_child0_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetTop(root_child0_child0_child1_child0_child0_child0)); ASSERT_FLOAT_EQ( 72, YGNodeLayoutGetWidth(root_child0_child0_child1_child0_child0_child0)); ASSERT_FLOAT_EQ( 72, YGNodeLayoutGetHeight(root_child0_child0_child1_child0_child0_child0)); ASSERT_FLOAT_EQ( 72, YGNodeLayoutGetLeft(root_child0_child0_child1_child0_child1)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetTop(root_child0_child0_child1_child0_child1)); ASSERT_FLOAT_EQ( 72, YGNodeLayoutGetWidth(root_child0_child0_child1_child0_child1)); ASSERT_FLOAT_EQ( 39, YGNodeLayoutGetHeight(root_child0_child0_child1_child0_child1)); ASSERT_FLOAT_EQ( 36, YGNodeLayoutGetLeft(root_child0_child0_child1_child0_child1_child0)); ASSERT_FLOAT_EQ( 21, YGNodeLayoutGetTop(root_child0_child0_child1_child0_child1_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetWidth(root_child0_child0_child1_child0_child1_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetHeight(root_child0_child0_child1_child0_child1_child0)); ASSERT_FLOAT_EQ( 36, YGNodeLayoutGetLeft(root_child0_child0_child1_child0_child1_child1)); ASSERT_FLOAT_EQ( 21, YGNodeLayoutGetTop(root_child0_child0_child1_child0_child1_child1)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetWidth(root_child0_child0_child1_child0_child1_child1)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetHeight(root_child0_child0_child1_child0_child1_child1)); YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionRTL); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root)); ASSERT_FLOAT_EQ(1080, YGNodeLayoutGetWidth(root)); ASSERT_FLOAT_EQ(240, YGNodeLayoutGetHeight(root)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0)); ASSERT_FLOAT_EQ(1080, YGNodeLayoutGetWidth(root_child0)); ASSERT_FLOAT_EQ(240, YGNodeLayoutGetHeight(root_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0_child0)); ASSERT_FLOAT_EQ(1080, YGNodeLayoutGetWidth(root_child0_child0)); ASSERT_FLOAT_EQ(240, YGNodeLayoutGetHeight(root_child0_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0_child0_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0_child0_child0)); ASSERT_FLOAT_EQ(1080, YGNodeLayoutGetWidth(root_child0_child0_child0)); ASSERT_FLOAT_EQ(144, YGNodeLayoutGetHeight(root_child0_child0_child0)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0_child0_child0_child0)); ASSERT_FLOAT_EQ(24, YGNodeLayoutGetTop(root_child0_child0_child0_child0)); ASSERT_FLOAT_EQ(1044, YGNodeLayoutGetWidth(root_child0_child0_child0_child0)); ASSERT_FLOAT_EQ(120, YGNodeLayoutGetHeight(root_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 924, YGNodeLayoutGetLeft(root_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetTop(root_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 120, YGNodeLayoutGetWidth(root_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 120, YGNodeLayoutGetHeight(root_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetLeft(root_child0_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetTop(root_child0_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 120, YGNodeLayoutGetWidth(root_child0_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 120, YGNodeLayoutGetHeight(root_child0_child0_child0_child0_child0_child0)); ASSERT_FLOAT_EQ( 816, YGNodeLayoutGetLeft(root_child0_child0_child0_child0_child1)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetTop(root_child0_child0_child0_child0_child1)); ASSERT_FLOAT_EQ( 72, YGNodeLayoutGetWidth(root_child0_child0_child0_child0_child1)); ASSERT_FLOAT_EQ( 39, YGNodeLayoutGetHeight(root_child0_child0_child0_child0_child1)); ASSERT_FLOAT_EQ( 36, YGNodeLayoutGetLeft(root_child0_child0_child0_child0_child1_child0)); ASSERT_FLOAT_EQ( 21, YGNodeLayoutGetTop(root_child0_child0_child0_child0_child1_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetWidth(root_child0_child0_child0_child0_child1_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetHeight(root_child0_child0_child0_child0_child1_child0)); ASSERT_FLOAT_EQ( 36, YGNodeLayoutGetLeft(root_child0_child0_child0_child0_child1_child1)); ASSERT_FLOAT_EQ( 21, YGNodeLayoutGetTop(root_child0_child0_child0_child0_child1_child1)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetWidth(root_child0_child0_child0_child0_child1_child1)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetHeight(root_child0_child0_child0_child0_child1_child1)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0_child0_child1)); ASSERT_FLOAT_EQ(144, YGNodeLayoutGetTop(root_child0_child0_child1)); ASSERT_FLOAT_EQ(1080, YGNodeLayoutGetWidth(root_child0_child0_child1)); ASSERT_FLOAT_EQ(96, YGNodeLayoutGetHeight(root_child0_child0_child1)); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0_child0_child1_child0)); ASSERT_FLOAT_EQ(24, YGNodeLayoutGetTop(root_child0_child0_child1_child0)); ASSERT_FLOAT_EQ(906, YGNodeLayoutGetWidth(root_child0_child0_child1_child0)); ASSERT_FLOAT_EQ(72, YGNodeLayoutGetHeight(root_child0_child0_child1_child0)); ASSERT_FLOAT_EQ( 834, YGNodeLayoutGetLeft(root_child0_child0_child1_child0_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetTop(root_child0_child0_child1_child0_child0)); ASSERT_FLOAT_EQ( 72, YGNodeLayoutGetWidth(root_child0_child0_child1_child0_child0)); ASSERT_FLOAT_EQ( 72, YGNodeLayoutGetHeight(root_child0_child0_child1_child0_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetLeft(root_child0_child0_child1_child0_child0_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetTop(root_child0_child0_child1_child0_child0_child0)); ASSERT_FLOAT_EQ( 72, YGNodeLayoutGetWidth(root_child0_child0_child1_child0_child0_child0)); ASSERT_FLOAT_EQ( 72, YGNodeLayoutGetHeight(root_child0_child0_child1_child0_child0_child0)); ASSERT_FLOAT_EQ( 726, YGNodeLayoutGetLeft(root_child0_child0_child1_child0_child1)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetTop(root_child0_child0_child1_child0_child1)); ASSERT_FLOAT_EQ( 72, YGNodeLayoutGetWidth(root_child0_child0_child1_child0_child1)); ASSERT_FLOAT_EQ( 39, YGNodeLayoutGetHeight(root_child0_child0_child1_child0_child1)); ASSERT_FLOAT_EQ( 36, YGNodeLayoutGetLeft(root_child0_child0_child1_child0_child1_child0)); ASSERT_FLOAT_EQ( 21, YGNodeLayoutGetTop(root_child0_child0_child1_child0_child1_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetWidth(root_child0_child0_child1_child0_child1_child0)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetHeight(root_child0_child0_child1_child0_child1_child0)); ASSERT_FLOAT_EQ( 36, YGNodeLayoutGetLeft(root_child0_child0_child1_child0_child1_child1)); ASSERT_FLOAT_EQ( 21, YGNodeLayoutGetTop(root_child0_child0_child1_child0_child1_child1)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetWidth(root_child0_child0_child1_child0_child1_child1)); ASSERT_FLOAT_EQ( 0, YGNodeLayoutGetHeight(root_child0_child0_child1_child0_child1_child1)); YGNodeFreeRecursive(root); YGConfigFree(config); }