tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 583HTML 275Markdown 8TOML 41586 Definitions

⎇ c83608da41161141b31ab5bf6961352e7870c505 tests/generated/wrap_reverse_column_fixed_size.rs Rust · 110 lines · 4.4 KB History Who touched what raw

Make library more usable in a `const` context (#203) 3535699e0 · Alice Cecile ·

1#[test]
2fn wrap_reverse_column_fixed_size() {
3    let mut taffy = taffy::Taffy::new();
4    let node0 = taffy
5        .new_with_children(
6            taffy::style::FlexboxLayout {
7                size: taffy::geometry::Size {
8                    width: taffy::style::Dimension::Points(30f32),
9                    height: taffy::style::Dimension::Points(10f32),
10                    ..Default::default()
11                },
12                ..Default::default()
13            },
14            &[],
15        )
16        .unwrap();
17    let node1 = taffy
18        .new_with_children(
19            taffy::style::FlexboxLayout {
20                size: taffy::geometry::Size {
21                    width: taffy::style::Dimension::Points(30f32),
22                    height: taffy::style::Dimension::Points(20f32),
23                    ..Default::default()
24                },
25                ..Default::default()
26            },
27            &[],
28        )
29        .unwrap();
30    let node2 = taffy
31        .new_with_children(
32            taffy::style::FlexboxLayout {
33                size: taffy::geometry::Size {
34                    width: taffy::style::Dimension::Points(30f32),
35                    height: taffy::style::Dimension::Points(30f32),
36                    ..Default::default()
37                },
38                ..Default::default()
39            },
40            &[],
41        )
42        .unwrap();
43    let node3 = taffy
44        .new_with_children(
45            taffy::style::FlexboxLayout {
46                size: taffy::geometry::Size {
47                    width: taffy::style::Dimension::Points(30f32),
48                    height: taffy::style::Dimension::Points(40f32),
49                    ..Default::default()
50                },
51                ..Default::default()
52            },
53            &[],
54        )
55        .unwrap();
56    let node4 = taffy
57        .new_with_children(
58            taffy::style::FlexboxLayout {
59                size: taffy::geometry::Size {
60                    width: taffy::style::Dimension::Points(30f32),
61                    height: taffy::style::Dimension::Points(50f32),
62                    ..Default::default()
63                },
64                ..Default::default()
65            },
66            &[],
67        )
68        .unwrap();
69    let node = taffy
70        .new_with_children(
71            taffy::style::FlexboxLayout {
72                flex_direction: taffy::style::FlexDirection::Column,
73                flex_wrap: taffy::style::FlexWrap::WrapReverse,
74                align_items: taffy::style::AlignItems::Center,
75                size: taffy::geometry::Size {
76                    width: taffy::style::Dimension::Points(200f32),
77                    height: taffy::style::Dimension::Points(100f32),
78                    ..Default::default()
79                },
80                ..Default::default()
81            },
82            &[node0, node1, node2, node3, node4],
83        )
84        .unwrap();
85    taffy.compute_layout(node, taffy::geometry::Size::NONE).unwrap();
86    assert_eq!(taffy.layout(node).unwrap().size.width, 200f32);
87    assert_eq!(taffy.layout(node).unwrap().size.height, 100f32);
88    assert_eq!(taffy.layout(node).unwrap().location.x, 0f32);
89    assert_eq!(taffy.layout(node).unwrap().location.y, 0f32);
90    assert_eq!(taffy.layout(node0).unwrap().size.width, 30f32);
91    assert_eq!(taffy.layout(node0).unwrap().size.height, 10f32);
92    assert_eq!(taffy.layout(node0).unwrap().location.x, 135f32);
93    assert_eq!(taffy.layout(node0).unwrap().location.y, 0f32);
94    assert_eq!(taffy.layout(node1).unwrap().size.width, 30f32);
95    assert_eq!(taffy.layout(node1).unwrap().size.height, 20f32);
96    assert_eq!(taffy.layout(node1).unwrap().location.x, 135f32);
97    assert_eq!(taffy.layout(node1).unwrap().location.y, 10f32);
98    assert_eq!(taffy.layout(node2).unwrap().size.width, 30f32);
99    assert_eq!(taffy.layout(node2).unwrap().size.height, 30f32);
100    assert_eq!(taffy.layout(node2).unwrap().location.x, 135f32);
101    assert_eq!(taffy.layout(node2).unwrap().location.y, 30f32);
102    assert_eq!(taffy.layout(node3).unwrap().size.width, 30f32);
103    assert_eq!(taffy.layout(node3).unwrap().size.height, 40f32);
104    assert_eq!(taffy.layout(node3).unwrap().location.x, 135f32);
105    assert_eq!(taffy.layout(node3).unwrap().location.y, 60f32);
106    assert_eq!(taffy.layout(node4).unwrap().size.width, 30f32);
107    assert_eq!(taffy.layout(node4).unwrap().size.height, 50f32);
108    assert_eq!(taffy.layout(node4).unwrap().location.x, 35f32);
109    assert_eq!(taffy.layout(node4).unwrap().location.y, 0f32);
110}