Replace per-node measure functions with a single measure function + per-node context (#490)
1#[cfg(test)]
2mod root_constraints {
3 use taffy::style::AvailableSpace;
4 use taffy::Taffy;
5
6 #[test]
7 fn root_with_percentage_size() {
8 let mut taffy: Taffy<()> = Taffy::new();
9 let node = taffy
10 .new_leaf(taffy::style::Style {
11 size: taffy::geometry::Size {
12 width: taffy::style::Dimension::Percent(1.0),
13 height: taffy::style::Dimension::Percent(1.0),
14 },
15 ..Default::default()
16 })
17 .unwrap();
18
19 taffy
20 .compute_layout(
21 node,
22 taffy::geometry::Size {
23 width: AvailableSpace::Definite(100.0),
24 height: AvailableSpace::Definite(200.0),
25 },
26 )
27 .unwrap();
28 let layout = taffy.layout(node).unwrap();
29
30 assert_eq!(layout.size.width, 100.0);
31 assert_eq!(layout.size.height, 200.0);
32 }
33
34 #[test]
35 fn root_with_no_size() {
36 let mut taffy: Taffy<()> = Taffy::new();
37 let node = taffy.new_leaf(taffy::style::Style::default()).unwrap();
38
39 taffy
40 .compute_layout(
41 node,
42 taffy::geometry::Size {
43 width: AvailableSpace::Definite(100.0),
44 height: AvailableSpace::Definite(100.0),
45 },
46 )
47 .unwrap();
48 let layout = taffy.layout(node).unwrap();
49
50 assert_eq!(layout.size.width, 0.0);
51 assert_eq!(layout.size.height, 0.0);
52 }
53
54 #[test]
55 fn root_with_larger_size() {
56 let mut taffy: Taffy<()> = Taffy::new();
57 let node = taffy
58 .new_leaf(taffy::style::Style {
59 size: taffy::geometry::Size {
60 width: taffy::style::Dimension::Length(200.0),
61 height: taffy::style::Dimension::Length(200.0),
62 },
63 ..Default::default()
64 })
65 .unwrap();
66
67 taffy
68 .compute_layout(
69 node,
70 taffy::geometry::Size {
71 width: AvailableSpace::Definite(100.0),
72 height: AvailableSpace::Definite(100.0),
73 },
74 )
75 .unwrap();
76 let layout = taffy.layout(node).unwrap();
77
78 assert_eq!(layout.size.width, 200.0);
79 assert_eq!(layout.size.height, 200.0);
80 }
81}