tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

⎇ 3de41935b1054f945bfaeb40dfc213cd57366b9b tests/generated/flex_shrink_to_zero.rs Rust · 65 lines · 2.6 KB History Who touched what raw

update tests and benchmarks to use new api 1f8c44154 · Emil Sjölander ·

1#[test]
2fn flex_shrink_to_zero() {
3    let layout = stretch::node::Node::new(
4        stretch::style::Style {
5            size: stretch::geometry::Size { width: stretch::style::Dimension::Points(75f32), ..Default::default() },
6            ..Default::default()
7        },
8        vec![
9            &stretch::node::Node::new(
10                stretch::style::Style {
11                    flex_shrink: 0f32,
12                    size: stretch::geometry::Size {
13                        width: stretch::style::Dimension::Points(50f32),
14                        height: stretch::style::Dimension::Points(50f32),
15                        ..Default::default()
16                    },
17                    ..Default::default()
18                },
19                vec![],
20            ),
21            &stretch::node::Node::new(
22                stretch::style::Style {
23                    flex_shrink: 1f32,
24                    size: stretch::geometry::Size {
25                        width: stretch::style::Dimension::Points(50f32),
26                        height: stretch::style::Dimension::Points(50f32),
27                        ..Default::default()
28                    },
29                    ..Default::default()
30                },
31                vec![],
32            ),
33            &stretch::node::Node::new(
34                stretch::style::Style {
35                    flex_shrink: 0f32,
36                    size: stretch::geometry::Size {
37                        width: stretch::style::Dimension::Points(50f32),
38                        height: stretch::style::Dimension::Points(50f32),
39                        ..Default::default()
40                    },
41                    ..Default::default()
42                },
43                vec![],
44            ),
45        ],
46    )
47    .compute_layout(stretch::geometry::Size::undefined())
48    .unwrap();
49    assert_eq!(layout.size.width, 75f32);
50    assert_eq!(layout.size.height, 50f32);
51    assert_eq!(layout.location.x, 0f32);
52    assert_eq!(layout.location.y, 0f32);
53    assert_eq!(layout.children[0usize].size.width, 50f32);
54    assert_eq!(layout.children[0usize].size.height, 50f32);
55    assert_eq!(layout.children[0usize].location.x, 0f32);
56    assert_eq!(layout.children[0usize].location.y, 0f32);
57    assert_eq!(layout.children[1usize].size.width, 0f32);
58    assert_eq!(layout.children[1usize].size.height, 50f32);
59    assert_eq!(layout.children[1usize].location.x, 50f32);
60    assert_eq!(layout.children[1usize].location.y, 0f32);
61    assert_eq!(layout.children[2usize].size.width, 50f32);
62    assert_eq!(layout.children[2usize].size.height, 50f32);
63    assert_eq!(layout.children[2usize].location.x, 50f32);
64    assert_eq!(layout.children[2usize].location.y, 0f32);
65}