gioser

tawasuyu/taffy

A high performance rust-powered UI layout library

HTML 231Rust 9TOML 3CSS 1344 Definitions

⎇ 06471455e8cc93ab7ffee650a033ae7df8943611 tests/generated/margin_and_flex_row.rs Rust · 40 lines · 1.5 KB History Who touched what raw

rename stretch to stretch2 99945cfc7 · elbaro ·

1#[test]
2fn margin_and_flex_row() {
3    let mut stretch = stretch2::Stretch::new();
4    let node0 = stretch
5        .new_node(
6            stretch2::style::Style {
7                flex_grow: 1f32,
8                margin: stretch2::geometry::Rect {
9                    start: stretch2::style::Dimension::Points(10f32),
10                    end: stretch2::style::Dimension::Points(10f32),
11                    ..Default::default()
12                },
13                ..Default::default()
14            },
15            &[],
16        )
17        .unwrap();
18    let node = stretch
19        .new_node(
20            stretch2::style::Style {
21                size: stretch2::geometry::Size {
22                    width: stretch2::style::Dimension::Points(100f32),
23                    height: stretch2::style::Dimension::Points(100f32),
24                    ..Default::default()
25                },
26                ..Default::default()
27            },
28            &[node0],
29        )
30        .unwrap();
31    stretch.compute_layout(node, stretch2::geometry::Size::undefined()).unwrap();
32    assert_eq!(stretch.layout(node).unwrap().size.width, 100f32);
33    assert_eq!(stretch.layout(node).unwrap().size.height, 100f32);
34    assert_eq!(stretch.layout(node).unwrap().location.x, 0f32);
35    assert_eq!(stretch.layout(node).unwrap().location.y, 0f32);
36    assert_eq!(stretch.layout(node0).unwrap().size.width, 80f32);
37    assert_eq!(stretch.layout(node0).unwrap().size.height, 100f32);
38    assert_eq!(stretch.layout(node0).unwrap().location.x, 10f32);
39    assert_eq!(stretch.layout(node0).unwrap().location.y, 0f32);
40}