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