gioser

tawasuyu/taffy

A high performance rust-powered UI layout library

HTML 5364Rust 86Markdown 12TOML 91841 Definiciones

⎇ 9e53f03adea2b770d68954e404d2fa407dfc7d40 tests/generated/gap_column_gap_child_margins.rs Rust · 83 líneas · 3.4 KB Historia Quién tocó qué crudo

Implement "gap" property for flexbox algorithm (#248) 9e53f03ad · Nico Burns ·

1#[test]
2fn gap_column_gap_child_margins() {
3    let mut taffy = taffy::Taffy::new();
4    let node0 = taffy
5        .new_with_children(
6            taffy::style::FlexboxLayout {
7                flex_grow: 1f32,
8                flex_shrink: 1f32,
9                flex_basis: taffy::style::Dimension::Percent(0f32),
10                margin: taffy::geometry::Rect {
11                    start: taffy::style::Dimension::Points(2f32),
12                    end: taffy::style::Dimension::Points(2f32),
13                    ..Default::default()
14                },
15                ..Default::default()
16            },
17            &[],
18        )
19        .unwrap();
20    let node1 = taffy
21        .new_with_children(
22            taffy::style::FlexboxLayout {
23                flex_grow: 1f32,
24                flex_shrink: 1f32,
25                flex_basis: taffy::style::Dimension::Percent(0f32),
26                margin: taffy::geometry::Rect {
27                    start: taffy::style::Dimension::Points(10f32),
28                    end: taffy::style::Dimension::Points(10f32),
29                    ..Default::default()
30                },
31                ..Default::default()
32            },
33            &[],
34        )
35        .unwrap();
36    let node2 = taffy
37        .new_with_children(
38            taffy::style::FlexboxLayout {
39                flex_grow: 1f32,
40                flex_shrink: 1f32,
41                flex_basis: taffy::style::Dimension::Percent(0f32),
42                margin: taffy::geometry::Rect {
43                    start: taffy::style::Dimension::Points(15f32),
44                    end: taffy::style::Dimension::Points(15f32),
45                    ..Default::default()
46                },
47                ..Default::default()
48            },
49            &[],
50        )
51        .unwrap();
52    let node = taffy
53        .new_with_children(
54            taffy::style::FlexboxLayout {
55                gap: taffy::geometry::Size { width: taffy::style::Dimension::Points(10f32), ..Default::default() },
56                size: taffy::geometry::Size {
57                    width: taffy::style::Dimension::Points(80f32),
58                    height: taffy::style::Dimension::Points(100f32),
59                    ..Default::default()
60                },
61                ..Default::default()
62            },
63            &[node0, node1, node2],
64        )
65        .unwrap();
66    taffy.compute_layout(node, taffy::geometry::Size::MAX_CONTENT).unwrap();
67    assert_eq!(taffy.layout(node).unwrap().size.width, 80f32);
68    assert_eq!(taffy.layout(node).unwrap().size.height, 100f32);
69    assert_eq!(taffy.layout(node).unwrap().location.x, 0f32);
70    assert_eq!(taffy.layout(node).unwrap().location.y, 0f32);
71    assert_eq!(taffy.layout(node0).unwrap().size.width, 2f32);
72    assert_eq!(taffy.layout(node0).unwrap().size.height, 100f32);
73    assert_eq!(taffy.layout(node0).unwrap().location.x, 2f32);
74    assert_eq!(taffy.layout(node0).unwrap().location.y, 0f32);
75    assert_eq!(taffy.layout(node1).unwrap().size.width, 2f32);
76    assert_eq!(taffy.layout(node1).unwrap().size.height, 100f32);
77    assert_eq!(taffy.layout(node1).unwrap().location.x, 26f32);
78    assert_eq!(taffy.layout(node1).unwrap().location.y, 0f32);
79    assert_eq!(taffy.layout(node2).unwrap().size.width, 2f32);
80    assert_eq!(taffy.layout(node2).unwrap().size.height, 100f32);
81    assert_eq!(taffy.layout(node2).unwrap().location.x, 63f32);
82    assert_eq!(taffy.layout(node2).unwrap().location.y, 0f32);
83}