Merge "Add new layouting support for TextLabel and ImageView." into devel/master
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit-third-party / yoga / YGDimensionTest.cpp
1 /**
2  * Copyright (c) 2014-present, Facebook, Inc.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7
8 // @Generated by gentest/gentest.rb from gentest/fixtures/YGDimensionTest.html
9
10 #include <gtest/gtest.h>
11 #include <yoga/Yoga.h>
12
13 TEST(YogaTest, wrap_child) {
14   const YGConfigRef config = YGConfigNew();
15
16   const YGNodeRef root = YGNodeNewWithConfig(config);
17
18   const YGNodeRef root_child0 = YGNodeNewWithConfig(config);
19   YGNodeStyleSetWidth(root_child0, 100);
20   YGNodeStyleSetHeight(root_child0, 100);
21   YGNodeInsertChild(root, root_child0, 0);
22   YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR);
23
24   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root));
25   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root));
26   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root));
27   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root));
28
29   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0));
30   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0));
31   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root_child0));
32   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root_child0));
33
34   YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionRTL);
35
36   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root));
37   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root));
38   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root));
39   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root));
40
41   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0));
42   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0));
43   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root_child0));
44   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root_child0));
45
46   YGNodeFreeRecursive(root);
47
48   YGConfigFree(config);
49 }
50
51 TEST(YogaTest, wrap_grandchild) {
52   const YGConfigRef config = YGConfigNew();
53
54   const YGNodeRef root = YGNodeNewWithConfig(config);
55
56   const YGNodeRef root_child0 = YGNodeNewWithConfig(config);
57   YGNodeInsertChild(root, root_child0, 0);
58
59   const YGNodeRef root_child0_child0 = YGNodeNewWithConfig(config);
60   YGNodeStyleSetWidth(root_child0_child0, 100);
61   YGNodeStyleSetHeight(root_child0_child0, 100);
62   YGNodeInsertChild(root_child0, root_child0_child0, 0);
63   YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR);
64
65   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root));
66   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root));
67   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root));
68   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root));
69
70   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0));
71   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0));
72   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root_child0));
73   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root_child0));
74
75   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0_child0));
76   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0_child0));
77   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root_child0_child0));
78   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root_child0_child0));
79
80   YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionRTL);
81
82   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root));
83   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root));
84   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root));
85   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root));
86
87   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0));
88   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0));
89   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root_child0));
90   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root_child0));
91
92   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetLeft(root_child0_child0));
93   ASSERT_FLOAT_EQ(0, YGNodeLayoutGetTop(root_child0_child0));
94   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetWidth(root_child0_child0));
95   ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root_child0_child0));
96
97   YGNodeFreeRecursive(root);
98
99   YGConfigFree(config);
100 }