⎇ 6ce28e1535f2ab4631d0502f2fee13d4827f2a11
tests/border_and_padding.rs
Historia
Quién tocó qué
crudo
Fixing a test testing border instead of padding (#287)
1use taffy::prelude::*;
2use taffy::style_helpers::TaffyZero;
3
4fn arr_to_rect<T: Copy>(items: [T; 4]) -> Rect<T> {
5 Rect { left: items[0], right: items[1], top: items[2], bottom: items[3] }
6}
7
8#[test]
9fn border_on_a_single_axis_doesnt_increase_size() {
10 for i in 0..4 {
11 let mut taffy = Taffy::new();
12 let node = taffy
13 .new_leaf(Style {
14 border: {
15 let mut lengths = [LengthPercentage::ZERO; 4];
16 lengths[i] = LengthPercentage::Points(10.);
17 arr_to_rect(lengths)
18 },
19 ..Default::default()
20 })
21 .unwrap();
22
23 taffy
24 .compute_layout(
25 node,
26 Size { height: AvailableSpace::Definite(100.0), width: AvailableSpace::Definite(100.0) },
27 )
28 .ok();
29
30 let layout = taffy.layout(node).unwrap();
31 assert_eq!(layout.size.width * layout.size.height, 0.);
32 }
33}
34
35#[test]
36fn padding_on_a_single_axis_doesnt_increase_size() {
37 for i in 0..4 {
38 let mut taffy = Taffy::new();
39 let node = taffy
40 .new_leaf(Style {
41 padding: {
42 let mut lengths = [LengthPercentage::ZERO; 4];
43 lengths[i] = LengthPercentage::Points(10.);
44 arr_to_rect(lengths)
45 },
46 ..Default::default()
47 })
48 .unwrap();
49
50 taffy
51 .compute_layout(
52 node,
53 Size { height: AvailableSpace::Definite(100.0), width: AvailableSpace::Definite(100.0) },
54 )
55 .ok();
56
57 let layout = taffy.layout(node).unwrap();
58 assert_eq!(layout.size.width * layout.size.height, 0.);
59 }
60}
61
62#[test]
63fn border_and_padding_on_a_single_axis_doesnt_increase_size() {
64 for i in 0..4 {
65 let mut taffy = Taffy::new();
66 let rect = {
67 let mut lengths = [LengthPercentage::ZERO; 4];
68 lengths[i] = LengthPercentage::Points(10.);
69 arr_to_rect(lengths)
70 };
71 let node = taffy.new_leaf(Style { border: rect, padding: rect, ..Default::default() }).unwrap();
72
73 taffy
74 .compute_layout(
75 node,
76 Size { height: AvailableSpace::Definite(100.0), width: AvailableSpace::Definite(100.0) },
77 )
78 .ok();
79 let layout = taffy.layout(node).unwrap();
80 assert_eq!(layout.size.width * layout.size.height, 0.);
81 }
82}
83
84#[test]
85fn vertical_border_and_padding_percentage_values_use_available_space_correctly() {
86 let mut taffy = Taffy::new();
87
88 let node = taffy
89 .new_leaf(Style {
90 padding: Rect { left: LengthPercentage::Percent(1.0), top: LengthPercentage::Percent(1.0), ..Rect::zero() },
91 ..Default::default()
92 })
93 .unwrap();
94
95 taffy
96 .compute_layout(node, Size { width: AvailableSpace::Definite(200.0), height: AvailableSpace::Definite(100.0) })
97 .ok();
98
99 let layout = taffy.layout(node).unwrap();
100 assert_eq!(layout.size.width, 200.0);
101 assert_eq!(layout.size.height, 200.0);
102}