⎇ a1e91740880b61f1c39c9114b628ff09655141a9
tests/generated/absolute_layout_within_border.rs
Historia
Quién tocó qué
crudo
1#[test]
2fn absolute_layout_within_border() {
3 let mut sprawl = sprawl::Sprawl::new();
4 let node0 = sprawl
5 .new_node(
6 sprawl::style::Style {
7 position_type: sprawl::style::PositionType::Absolute,
8 size: sprawl::geometry::Size {
9 width: sprawl::style::Dimension::Points(50f32),
10 height: sprawl::style::Dimension::Points(50f32),
11 ..Default::default()
12 },
13 position: sprawl::geometry::Rect {
14 start: sprawl::style::Dimension::Points(0f32),
15 top: sprawl::style::Dimension::Points(0f32),
16 ..Default::default()
17 },
18 ..Default::default()
19 },
20 &[],
21 )
22 .unwrap();
23 let node1 = sprawl
24 .new_node(
25 sprawl::style::Style {
26 position_type: sprawl::style::PositionType::Absolute,
27 size: sprawl::geometry::Size {
28 width: sprawl::style::Dimension::Points(50f32),
29 height: sprawl::style::Dimension::Points(50f32),
30 ..Default::default()
31 },
32 position: sprawl::geometry::Rect {
33 end: sprawl::style::Dimension::Points(0f32),
34 bottom: sprawl::style::Dimension::Points(0f32),
35 ..Default::default()
36 },
37 ..Default::default()
38 },
39 &[],
40 )
41 .unwrap();
42 let node2 = sprawl
43 .new_node(
44 sprawl::style::Style {
45 position_type: sprawl::style::PositionType::Absolute,
46 size: sprawl::geometry::Size {
47 width: sprawl::style::Dimension::Points(50f32),
48 height: sprawl::style::Dimension::Points(50f32),
49 ..Default::default()
50 },
51 margin: sprawl::geometry::Rect {
52 start: sprawl::style::Dimension::Points(10f32),
53 end: sprawl::style::Dimension::Points(10f32),
54 top: sprawl::style::Dimension::Points(10f32),
55 bottom: sprawl::style::Dimension::Points(10f32),
56 ..Default::default()
57 },
58 position: sprawl::geometry::Rect {
59 start: sprawl::style::Dimension::Points(0f32),
60 top: sprawl::style::Dimension::Points(0f32),
61 ..Default::default()
62 },
63 ..Default::default()
64 },
65 &[],
66 )
67 .unwrap();
68 let node3 = sprawl
69 .new_node(
70 sprawl::style::Style {
71 position_type: sprawl::style::PositionType::Absolute,
72 size: sprawl::geometry::Size {
73 width: sprawl::style::Dimension::Points(50f32),
74 height: sprawl::style::Dimension::Points(50f32),
75 ..Default::default()
76 },
77 margin: sprawl::geometry::Rect {
78 start: sprawl::style::Dimension::Points(10f32),
79 end: sprawl::style::Dimension::Points(10f32),
80 top: sprawl::style::Dimension::Points(10f32),
81 bottom: sprawl::style::Dimension::Points(10f32),
82 ..Default::default()
83 },
84 position: sprawl::geometry::Rect {
85 end: sprawl::style::Dimension::Points(0f32),
86 bottom: sprawl::style::Dimension::Points(0f32),
87 ..Default::default()
88 },
89 ..Default::default()
90 },
91 &[],
92 )
93 .unwrap();
94 let node = sprawl
95 .new_node(
96 sprawl::style::Style {
97 size: sprawl::geometry::Size {
98 width: sprawl::style::Dimension::Points(100f32),
99 height: sprawl::style::Dimension::Points(100f32),
100 ..Default::default()
101 },
102 padding: sprawl::geometry::Rect {
103 start: sprawl::style::Dimension::Points(10f32),
104 end: sprawl::style::Dimension::Points(10f32),
105 top: sprawl::style::Dimension::Points(10f32),
106 bottom: sprawl::style::Dimension::Points(10f32),
107 ..Default::default()
108 },
109 border: sprawl::geometry::Rect {
110 start: sprawl::style::Dimension::Points(10f32),
111 end: sprawl::style::Dimension::Points(10f32),
112 top: sprawl::style::Dimension::Points(10f32),
113 bottom: sprawl::style::Dimension::Points(10f32),
114 ..Default::default()
115 },
116 ..Default::default()
117 },
118 &[node0, node1, node2, node3],
119 )
120 .unwrap();
121 sprawl.compute_layout(node, sprawl::geometry::Size::undefined()).unwrap();
122 assert_eq!(sprawl.layout(node).unwrap().size.width, 100f32);
123 assert_eq!(sprawl.layout(node).unwrap().size.height, 100f32);
124 assert_eq!(sprawl.layout(node).unwrap().location.x, 0f32);
125 assert_eq!(sprawl.layout(node).unwrap().location.y, 0f32);
126 assert_eq!(sprawl.layout(node0).unwrap().size.width, 50f32);
127 assert_eq!(sprawl.layout(node0).unwrap().size.height, 50f32);
128 assert_eq!(sprawl.layout(node0).unwrap().location.x, 10f32);
129 assert_eq!(sprawl.layout(node0).unwrap().location.y, 10f32);
130 assert_eq!(sprawl.layout(node1).unwrap().size.width, 50f32);
131 assert_eq!(sprawl.layout(node1).unwrap().size.height, 50f32);
132 assert_eq!(sprawl.layout(node1).unwrap().location.x, 40f32);
133 assert_eq!(sprawl.layout(node1).unwrap().location.y, 40f32);
134 assert_eq!(sprawl.layout(node2).unwrap().size.width, 50f32);
135 assert_eq!(sprawl.layout(node2).unwrap().size.height, 50f32);
136 assert_eq!(sprawl.layout(node2).unwrap().location.x, 20f32);
137 assert_eq!(sprawl.layout(node2).unwrap().location.y, 20f32);
138 assert_eq!(sprawl.layout(node3).unwrap().size.width, 50f32);
139 assert_eq!(sprawl.layout(node3).unwrap().size.height, 50f32);
140 assert_eq!(sprawl.layout(node3).unwrap().location.x, 30f32);
141 assert_eq!(sprawl.layout(node3).unwrap().location.y, 30f32);
142}