tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 501HTML 254C 19JavaScript 81414 Definitions

⎇ a9acf58cd4179aba3230ea7abd27003dc445c034 tests/generated/wrapped_column_max_height_flex.rs Rust · 79 lines · 3.6 KB History Who touched what raw

[gentest] Refactor gentest to use WebDriver & quote crate. a9acf58cd · Adam Perry ·

1#[test]
2fn wrapped_column_max_height_flex() {
3    let layout = stretch::compute(
4        &stretch::style::Node {
5            flex_direction: stretch::style::FlexDirection::Column,
6            flex_wrap: stretch::style::FlexWrap::Wrap,
7            align_items: stretch::style::AlignItems::Center,
8            align_content: stretch::style::AlignContent::Center,
9            justify_content: stretch::style::JustifyContent::Center,
10            size: stretch::geometry::Size {
11                width: stretch::style::Dimension::Points(700f32),
12                height: stretch::style::Dimension::Points(500f32),
13                ..Default::default()
14            },
15            children: vec![
16                stretch::style::Node {
17                    flex_grow: 1f32,
18                    flex_shrink: 1f32,
19                    flex_basis: stretch::style::Dimension::Percent(0f32),
20                    size: stretch::geometry::Size {
21                        width: stretch::style::Dimension::Points(100f32),
22                        height: stretch::style::Dimension::Points(500f32),
23                        ..Default::default()
24                    },
25                    max_size: stretch::geometry::Size {
26                        height: stretch::style::Dimension::Points(200f32),
27                        ..Default::default()
28                    },
29                    ..Default::default()
30                },
31                stretch::style::Node {
32                    flex_grow: 1f32,
33                    flex_shrink: 1f32,
34                    flex_basis: stretch::style::Dimension::Percent(0f32),
35                    size: stretch::geometry::Size {
36                        width: stretch::style::Dimension::Points(200f32),
37                        height: stretch::style::Dimension::Points(200f32),
38                        ..Default::default()
39                    },
40                    margin: stretch::geometry::Rect {
41                        start: stretch::style::Dimension::Points(20f32),
42                        end: stretch::style::Dimension::Points(20f32),
43                        top: stretch::style::Dimension::Points(20f32),
44                        bottom: stretch::style::Dimension::Points(20f32),
45                        ..Default::default()
46                    },
47                    ..Default::default()
48                },
49                stretch::style::Node {
50                    size: stretch::geometry::Size {
51                        width: stretch::style::Dimension::Points(100f32),
52                        height: stretch::style::Dimension::Points(100f32),
53                        ..Default::default()
54                    },
55                    ..Default::default()
56                },
57            ],
58            ..Default::default()
59        },
60        stretch::geometry::Size::undefined(),
61    )
62    .unwrap();
63    assert_eq!(layout.size.width, 700f32);
64    assert_eq!(layout.size.height, 500f32);
65    assert_eq!(layout.location.x, 0f32);
66    assert_eq!(layout.location.y, 0f32);
67    assert_eq!(layout.children[0usize].size.width, 100f32);
68    assert_eq!(layout.children[0usize].size.height, 180f32);
69    assert_eq!(layout.children[0usize].location.x, 300f32);
70    assert_eq!(layout.children[0usize].location.y, 0f32);
71    assert_eq!(layout.children[1usize].size.width, 200f32);
72    assert_eq!(layout.children[1usize].size.height, 180f32);
73    assert_eq!(layout.children[1usize].location.x, 250f32);
74    assert_eq!(layout.children[1usize].location.y, 200f32);
75    assert_eq!(layout.children[2usize].size.width, 100f32);
76    assert_eq!(layout.children[2usize].size.height, 100f32);
77    assert_eq!(layout.children[2usize].location.x, 300f32);
78    assert_eq!(layout.children[2usize].location.y, 400f32);
79}