gioser

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 500HTML 254C 19JavaScript 81398 Sutichaykuna

⎇ 04e20d1de5cd584bf0760071cf130dd55f5b0089 tests/generated/flex/absolute_child_with_max_height.rs Rust · 121 siq'ikuna · 4.8 KB Ñawpa willay Pi imata llamkarqan ch'uya

Rename Taffy struct to TaffyTree (#580) 17235ffa2 · Nico Burns ·

1#[test]
2fn absolute_child_with_max_height() {
3    #[allow(unused_imports)]
4    use taffy::{prelude::*, tree::Layout, TaffyTree};
5    let mut taffy: TaffyTree<crate::TextMeasure> = TaffyTree::new();
6    let node00 = taffy
7        .new_leaf(taffy::style::Style {
8            size: taffy::geometry::Size {
9                width: taffy::style::Dimension::Length(100f32),
10                height: taffy::style::Dimension::Length(30f32),
11            },
12            ..Default::default()
13        })
14        .unwrap();
15    let node0 = taffy
16        .new_with_children(
17            taffy::style::Style {
18                position: taffy::style::Position::Absolute,
19                flex_direction: taffy::style::FlexDirection::Column,
20                max_size: taffy::geometry::Size { width: auto(), height: taffy::style::Dimension::Length(100f32) },
21                inset: taffy::geometry::Rect {
22                    left: auto(),
23                    right: auto(),
24                    top: auto(),
25                    bottom: taffy::style::LengthPercentageAuto::Length(20f32),
26                },
27                ..Default::default()
28            },
29            &[node00],
30        )
31        .unwrap();
32    let node = taffy
33        .new_with_children(
34            taffy::style::Style {
35                flex_direction: taffy::style::FlexDirection::Column,
36                size: taffy::geometry::Size {
37                    width: taffy::style::Dimension::Length(100f32),
38                    height: taffy::style::Dimension::Length(200f32),
39                },
40                ..Default::default()
41            },
42            &[node0],
43        )
44        .unwrap();
45    taffy.compute_layout_with_measure(node, taffy::geometry::Size::MAX_CONTENT, crate::test_measure_function).unwrap();
46    println!("\nComputed tree:");
47    taffy.print_tree(node);
48    println!();
49    #[cfg_attr(not(feature = "content_size"), allow(unused_variables))]
50    let layout @ Layout { size, location, .. } = taffy.layout(node).unwrap();
51    assert_eq!(size.width, 100f32, "width of node {:?}. Expected {}. Actual {}", node, 100f32, size.width);
52    assert_eq!(size.height, 200f32, "height of node {:?}. Expected {}. Actual {}", node, 200f32, size.height);
53    assert_eq!(location.x, 0f32, "x of node {:?}. Expected {}. Actual {}", node, 0f32, location.x);
54    assert_eq!(location.y, 0f32, "y of node {:?}. Expected {}. Actual {}", node, 0f32, location.y);
55    #[cfg(feature = "content_size")]
56    assert_eq!(
57        layout.scroll_width(),
58        0f32,
59        "scroll_width of node {:?}. Expected {}. Actual {}",
60        node,
61        0f32,
62        layout.scroll_width()
63    );
64    #[cfg(feature = "content_size")]
65    assert_eq!(
66        layout.scroll_height(),
67        0f32,
68        "scroll_height of node {:?}. Expected {}. Actual {}",
69        node,
70        0f32,
71        layout.scroll_height()
72    );
73    #[cfg_attr(not(feature = "content_size"), allow(unused_variables))]
74    let layout @ Layout { size, location, .. } = taffy.layout(node0).unwrap();
75    assert_eq!(size.width, 100f32, "width of node {:?}. Expected {}. Actual {}", node0, 100f32, size.width);
76    assert_eq!(size.height, 30f32, "height of node {:?}. Expected {}. Actual {}", node0, 30f32, size.height);
77    assert_eq!(location.x, 0f32, "x of node {:?}. Expected {}. Actual {}", node0, 0f32, location.x);
78    assert_eq!(location.y, 150f32, "y of node {:?}. Expected {}. Actual {}", node0, 150f32, location.y);
79    #[cfg(feature = "content_size")]
80    assert_eq!(
81        layout.scroll_width(),
82        0f32,
83        "scroll_width of node {:?}. Expected {}. Actual {}",
84        node0,
85        0f32,
86        layout.scroll_width()
87    );
88    #[cfg(feature = "content_size")]
89    assert_eq!(
90        layout.scroll_height(),
91        0f32,
92        "scroll_height of node {:?}. Expected {}. Actual {}",
93        node0,
94        0f32,
95        layout.scroll_height()
96    );
97    #[cfg_attr(not(feature = "content_size"), allow(unused_variables))]
98    let layout @ Layout { size, location, .. } = taffy.layout(node00).unwrap();
99    assert_eq!(size.width, 100f32, "width of node {:?}. Expected {}. Actual {}", node00, 100f32, size.width);
100    assert_eq!(size.height, 30f32, "height of node {:?}. Expected {}. Actual {}", node00, 30f32, size.height);
101    assert_eq!(location.x, 0f32, "x of node {:?}. Expected {}. Actual {}", node00, 0f32, location.x);
102    assert_eq!(location.y, 0f32, "y of node {:?}. Expected {}. Actual {}", node00, 0f32, location.y);
103    #[cfg(feature = "content_size")]
104    assert_eq!(
105        layout.scroll_width(),
106        0f32,
107        "scroll_width of node {:?}. Expected {}. Actual {}",
108        node00,
109        0f32,
110        layout.scroll_width()
111    );
112    #[cfg(feature = "content_size")]
113    assert_eq!(
114        layout.scroll_height(),
115        0f32,
116        "scroll_height of node {:?}. Expected {}. Actual {}",
117        node00,
118        0f32,
119        layout.scroll_height()
120    );
121}