⎇ e8253b1ae8ad9e95777144ce91aa6fb1ec8d4e32
tests/generated/grid_span_6_all_non_flex_indefinite.rs
Historia
Quién tocó qué
crudo
Fix 1px wide gaps between adjacent UI nodes (#374)
1#[test]
2fn grid_span_6_all_non_flex_indefinite() {
3 use slotmap::Key;
4 #[allow(unused_imports)]
5 use taffy::{layout::Layout, prelude::*};
6 let mut taffy = taffy::Taffy::new();
7 let node0 = taffy
8 .new_leaf_with_measure(
9 taffy::style::Style {
10 grid_column: taffy::geometry::Line { start: line(1i16), end: taffy::style::GridPlacement::Span(6u16) },
11 ..Default::default()
12 },
13 taffy::node::MeasureFunc::Raw(|known_dimensions, available_space| {
14 const TEXT: &str = "HHHHHHHH\u{200b}HHHHHHHH";
15 super::measure_standard_text(
16 known_dimensions,
17 available_space,
18 TEXT,
19 super::WritingMode::Horizontal,
20 None,
21 )
22 }),
23 )
24 .unwrap();
25 let node1 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
26 let node2 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
27 let node3 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
28 let node4 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
29 let node5 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
30 let node6 = taffy.new_leaf(taffy::style::Style { ..Default::default() }).unwrap();
31 let node = taffy
32 .new_with_children(
33 taffy::style::Style {
34 display: taffy::style::Display::Grid,
35 grid_template_rows: vec![points(40f32), points(40f32)],
36 grid_template_columns: vec![
37 min_content(),
38 max_content(),
39 fit_content(points(20f32)),
40 auto(),
41 points(10f32),
42 percent(0.2f32),
43 ],
44 ..Default::default()
45 },
46 &[node0, node1, node2, node3, node4, node5, node6],
47 )
48 .unwrap();
49 taffy.compute_layout(node, taffy::geometry::Size::MAX_CONTENT).unwrap();
50 println!("\nComputed tree:");
51 taffy::debug::print_tree(&taffy, node);
52 println!();
53 let Layout { size, location, .. } = taffy.layout(node).unwrap();
54 assert_eq!(size.width, 160f32, "width of node {:?}. Expected {}. Actual {}", node.data(), 160f32, size.width);
55 assert_eq!(size.height, 80f32, "height of node {:?}. Expected {}. Actual {}", node.data(), 80f32, size.height);
56 assert_eq!(location.x, 0f32, "x of node {:?}. Expected {}. Actual {}", node.data(), 0f32, location.x);
57 assert_eq!(location.y, 0f32, "y of node {:?}. Expected {}. Actual {}", node.data(), 0f32, location.y);
58 let Layout { size, location, .. } = taffy.layout(node0).unwrap();
59 assert_eq!(size.width, 160f32, "width of node {:?}. Expected {}. Actual {}", node0.data(), 160f32, size.width);
60 assert_eq!(size.height, 40f32, "height of node {:?}. Expected {}. Actual {}", node0.data(), 40f32, size.height);
61 assert_eq!(location.x, 0f32, "x of node {:?}. Expected {}. Actual {}", node0.data(), 0f32, location.x);
62 assert_eq!(location.y, 0f32, "y of node {:?}. Expected {}. Actual {}", node0.data(), 0f32, location.y);
63 let Layout { size, location, .. } = taffy.layout(node1).unwrap();
64 assert_eq!(size.width, 10f32, "width of node {:?}. Expected {}. Actual {}", node1.data(), 10f32, size.width);
65 assert_eq!(size.height, 40f32, "height of node {:?}. Expected {}. Actual {}", node1.data(), 40f32, size.height);
66 assert_eq!(location.x, 0f32, "x of node {:?}. Expected {}. Actual {}", node1.data(), 0f32, location.x);
67 assert_eq!(location.y, 40f32, "y of node {:?}. Expected {}. Actual {}", node1.data(), 40f32, location.y);
68 let Layout { size, location, .. } = taffy.layout(node2).unwrap();
69 assert_eq!(size.width, 89f32, "width of node {:?}. Expected {}. Actual {}", node2.data(), 89f32, size.width);
70 assert_eq!(size.height, 40f32, "height of node {:?}. Expected {}. Actual {}", node2.data(), 40f32, size.height);
71 assert_eq!(location.x, 10f32, "x of node {:?}. Expected {}. Actual {}", node2.data(), 10f32, location.x);
72 assert_eq!(location.y, 40f32, "y of node {:?}. Expected {}. Actual {}", node2.data(), 40f32, location.y);
73 let Layout { size, location, .. } = taffy.layout(node3).unwrap();
74 assert_eq!(size.width, 10f32, "width of node {:?}. Expected {}. Actual {}", node3.data(), 10f32, size.width);
75 assert_eq!(size.height, 40f32, "height of node {:?}. Expected {}. Actual {}", node3.data(), 40f32, size.height);
76 assert_eq!(location.x, 99f32, "x of node {:?}. Expected {}. Actual {}", node3.data(), 99f32, location.x);
77 assert_eq!(location.y, 40f32, "y of node {:?}. Expected {}. Actual {}", node3.data(), 40f32, location.y);
78 let Layout { size, location, .. } = taffy.layout(node4).unwrap();
79 assert_eq!(size.width, 9f32, "width of node {:?}. Expected {}. Actual {}", node4.data(), 9f32, size.width);
80 assert_eq!(size.height, 40f32, "height of node {:?}. Expected {}. Actual {}", node4.data(), 40f32, size.height);
81 assert_eq!(location.x, 109f32, "x of node {:?}. Expected {}. Actual {}", node4.data(), 109f32, location.x);
82 assert_eq!(location.y, 40f32, "y of node {:?}. Expected {}. Actual {}", node4.data(), 40f32, location.y);
83 let Layout { size, location, .. } = taffy.layout(node5).unwrap();
84 assert_eq!(size.width, 10f32, "width of node {:?}. Expected {}. Actual {}", node5.data(), 10f32, size.width);
85 assert_eq!(size.height, 40f32, "height of node {:?}. Expected {}. Actual {}", node5.data(), 40f32, size.height);
86 assert_eq!(location.x, 118f32, "x of node {:?}. Expected {}. Actual {}", node5.data(), 118f32, location.x);
87 assert_eq!(location.y, 40f32, "y of node {:?}. Expected {}. Actual {}", node5.data(), 40f32, location.y);
88 let Layout { size, location, .. } = taffy.layout(node6).unwrap();
89 assert_eq!(size.width, 32f32, "width of node {:?}. Expected {}. Actual {}", node6.data(), 32f32, size.width);
90 assert_eq!(size.height, 40f32, "height of node {:?}. Expected {}. Actual {}", node6.data(), 40f32, size.height);
91 assert_eq!(location.x, 128f32, "x of node {:?}. Expected {}. Actual {}", node6.data(), 128f32, location.x);
92 assert_eq!(location.y, 40f32, "y of node {:?}. Expected {}. Actual {}", node6.data(), 40f32, location.y);
93}