⎇ 4f43428b5e387dafa19cbcc0c5217fc8e61d0ce6
tests/generated/mod.rs
Ñawpa willay
Pi imata llamkarqan
ch'uya
Grid/width depends on height tests (#300)
1#[allow(dead_code)]
2#[derive(Debug, Clone, Copy, PartialEq, Eq)]
3enum WritingMode {
4 Horizontal,
5 Vertical,
6}
7#[allow(dead_code)]
8fn measure_standard_text(
9 known_dimensions: taffy::geometry::Size<Option<f32>>,
10 available_space: taffy::geometry::Size<taffy::style::AvailableSpace>,
11 text_content: &str,
12 writing_mode: WritingMode,
13) -> taffy::geometry::Size<f32> {
14 use taffy::axis::AbsoluteAxis;
15 use taffy::prelude::*;
16 const ZWS: char = '\u{200B}';
17 const H_WIDTH: f32 = 10.0;
18 const H_HEIGHT: f32 = 10.0;
19 if let Size { width: Some(width), height: Some(height) } = known_dimensions {
20 return Size { width, height };
21 }
22 let inline_axis = match writing_mode {
23 WritingMode::Horizontal => AbsoluteAxis::Horizontal,
24 WritingMode::Vertical => AbsoluteAxis::Vertical,
25 };
26 let block_axis = inline_axis.other_axis();
27 let lines: Vec<&str> = text_content.split(ZWS).collect();
28 if lines.is_empty() {
29 return Size::ZERO;
30 }
31 let min_line_length: usize = lines.iter().map(|line| line.len()).max().unwrap_or(0);
32 let max_line_length: usize = lines.iter().map(|line| line.len()).sum();
33 let inline_size =
34 known_dimensions.get_abs(inline_axis).unwrap_or_else(|| match available_space.get_abs(inline_axis) {
35 AvailableSpace::MinContent => min_line_length as f32 * H_WIDTH,
36 AvailableSpace::MaxContent => max_line_length as f32 * H_WIDTH,
37 AvailableSpace::Definite(inline_size) => {
38 inline_size.min(max_line_length as f32 * H_WIDTH).max(min_line_length as f32 * H_WIDTH)
39 }
40 });
41 let block_size = known_dimensions.get_abs(block_axis).unwrap_or_else(|| {
42 let inline_line_length = (inline_size / H_WIDTH).floor() as usize;
43 let mut line_count = 1;
44 let mut current_line_length = 0;
45 for line in &lines {
46 if current_line_length + line.len() > inline_line_length {
47 if current_line_length > 0 {
48 line_count += 1
49 };
50 current_line_length = line.len();
51 } else {
52 current_line_length += line.len();
53 };
54 }
55 (line_count as f32) * H_HEIGHT
56 });
57 match writing_mode {
58 WritingMode::Horizontal => Size { width: inline_size, height: block_size },
59 WritingMode::Vertical => Size { width: block_size, height: inline_size },
60 }
61}
62mod absolute_layout_align_items_and_justify_content_center;
63mod absolute_layout_align_items_and_justify_content_center_and_bottom_position;
64mod absolute_layout_align_items_and_justify_content_center_and_left_position;
65mod absolute_layout_align_items_and_justify_content_center_and_right_position;
66mod absolute_layout_align_items_and_justify_content_center_and_top_position;
67mod absolute_layout_align_items_and_justify_content_flex_end;
68mod absolute_layout_align_items_center;
69mod absolute_layout_align_items_center_on_child_only;
70mod absolute_layout_child_order;
71mod absolute_layout_in_wrap_reverse_column_container;
72mod absolute_layout_in_wrap_reverse_column_container_flex_end;
73mod absolute_layout_in_wrap_reverse_row_container;
74mod absolute_layout_in_wrap_reverse_row_container_flex_end;
75mod absolute_layout_justify_content_center;
76mod absolute_layout_no_size;
77mod absolute_layout_percentage_bottom_based_on_parent_height;
78mod absolute_layout_start_top_end_bottom;
79mod absolute_layout_width_height_end_bottom;
80mod absolute_layout_width_height_start_top;
81mod absolute_layout_width_height_start_top_end_bottom;
82mod absolute_layout_within_border;
83mod align_baseline;
84mod align_baseline_child_multiline;
85mod align_baseline_nested_child;
86mod align_center_should_size_based_on_content;
87mod align_content_space_around_single_line;
88mod align_content_space_around_wrapped;
89mod align_content_space_between_single_line;
90mod align_content_space_between_wrapped;
91mod align_content_space_evenly_single_line;
92mod align_content_space_evenly_wrapped;
93mod align_flex_start_with_shrinking_children;
94mod align_flex_start_with_shrinking_children_with_stretch;
95mod align_flex_start_with_stretching_children;
96mod align_items_center;
97mod align_items_center_child_with_margin_bigger_than_parent;
98mod align_items_center_child_without_margin_bigger_than_parent;
99mod align_items_center_with_child_margin;
100mod align_items_center_with_child_top;
101mod align_items_flex_end;
102mod align_items_flex_end_child_with_margin_bigger_than_parent;
103mod align_items_flex_end_child_without_margin_bigger_than_parent;
104mod align_items_flex_start;
105mod align_items_min_max;
106mod align_items_stretch;
107mod align_self_baseline;
108mod align_self_center;
109mod align_self_flex_end;
110mod align_self_flex_end_override_flex_start;
111mod align_self_flex_start;
112mod align_strech_should_size_based_on_parent;
113mod border_center_child;
114mod border_flex_child;
115mod border_no_child;
116mod border_stretch_child;
117mod child_min_max_width_flexing;
118mod container_with_unsized_child;
119mod display_none;
120mod display_none_fixed_size;
121mod display_none_with_child;
122mod display_none_with_margin;
123mod display_none_with_position;
124mod flex_basis_and_main_dimen_set_when_flexing;
125mod flex_basis_flex_grow_column;
126mod flex_basis_flex_grow_row;
127mod flex_basis_flex_shrink_column;
128mod flex_basis_flex_shrink_row;
129mod flex_basis_larger_than_content_column;
130mod flex_basis_larger_than_content_row;
131mod flex_basis_overrides_main_size;
132mod flex_basis_slightly_smaller_then_content_with_flex_grow_large_size;
133mod flex_basis_smaller_than_content_column;
134mod flex_basis_smaller_than_content_row;
135mod flex_basis_smaller_than_main_dimen_column;
136mod flex_basis_smaller_than_main_dimen_row;
137mod flex_basis_smaller_then_content_with_flex_grow_large_size;
138mod flex_basis_smaller_then_content_with_flex_grow_small_size;
139mod flex_basis_smaller_then_content_with_flex_grow_unconstraint_size;
140mod flex_basis_smaller_then_content_with_flex_grow_very_large_size;
141mod flex_basis_unconstraint_column;
142mod flex_basis_unconstraint_row;
143mod flex_direction_column;
144mod flex_direction_column_no_height;
145mod flex_direction_column_reverse;
146mod flex_direction_row;
147mod flex_direction_row_no_width;
148mod flex_direction_row_reverse;
149mod flex_grow_child;
150mod flex_grow_flex_basis_percent_min_max;
151mod flex_grow_height_maximized;
152mod flex_grow_in_at_most_container;
153mod flex_grow_less_than_factor_one;
154mod flex_grow_root_minimized;
155mod flex_grow_shrink_at_most;
156mod flex_grow_to_min;
157mod flex_grow_within_constrained_max_column;
158mod flex_grow_within_constrained_max_row;
159mod flex_grow_within_constrained_max_width;
160mod flex_grow_within_constrained_min_column;
161mod flex_grow_within_constrained_min_max_column;
162mod flex_grow_within_constrained_min_row;
163mod flex_grow_within_max_width;
164mod flex_root_ignored;
165mod flex_shrink_by_outer_margin_with_max_size;
166mod flex_shrink_flex_grow_child_flex_shrink_other_child;
167mod flex_shrink_flex_grow_row;
168mod flex_shrink_to_zero;
169mod flex_wrap_align_stretch_fits_one_row;
170mod flex_wrap_children_with_min_main_overriding_flex_basis;
171mod flex_wrap_wrap_to_child_height;
172mod gap_column_gap_child_margins;
173mod gap_column_gap_determines_parent_width;
174mod gap_column_gap_flexible;
175mod gap_column_gap_flexible_undefined_parent;
176mod gap_column_gap_inflexible;
177mod gap_column_gap_inflexible_undefined_parent;
178mod gap_column_gap_justify_center;
179mod gap_column_gap_justify_flex_end;
180mod gap_column_gap_justify_flex_start;
181mod gap_column_gap_justify_space_around;
182mod gap_column_gap_justify_space_between;
183mod gap_column_gap_justify_space_evenly;
184mod gap_column_gap_mixed_flexible;
185mod gap_column_gap_percentage_cyclic_partially_shrinkable;
186mod gap_column_gap_percentage_cyclic_shrinkable;
187mod gap_column_gap_percentage_cyclic_unshrinkable;
188mod gap_column_gap_percentage_flexible;
189mod gap_column_gap_percentage_inflexible;
190mod gap_column_gap_wrap_align_center;
191mod gap_column_gap_wrap_align_flex_end;
192mod gap_column_gap_wrap_align_flex_start;
193mod gap_column_gap_wrap_align_space_around;
194mod gap_column_gap_wrap_align_space_between;
195mod gap_column_gap_wrap_align_stretch;
196mod gap_column_row_gap_wrapping;
197mod gap_percentage_row_gap_wrapping;
198mod gap_row_gap_align_items_end;
199mod gap_row_gap_align_items_stretch;
200mod gap_row_gap_column_child_margins;
201mod gap_row_gap_determines_parent_height;
202mod gap_row_gap_row_wrap_child_margins;
203#[cfg(feature = "grid")]
204mod grid_absolute_align_self_sized_all;
205#[cfg(feature = "grid")]
206mod grid_absolute_column_end;
207#[cfg(feature = "grid")]
208mod grid_absolute_column_start;
209#[cfg(feature = "grid")]
210mod grid_absolute_container_bottom_left;
211#[cfg(feature = "grid")]
212mod grid_absolute_container_bottom_left_margin;
213#[cfg(feature = "grid")]
214mod grid_absolute_container_left_overrides_right;
215#[cfg(feature = "grid")]
216mod grid_absolute_container_left_right;
217#[cfg(feature = "grid")]
218mod grid_absolute_container_left_right_margin;
219#[cfg(feature = "grid")]
220mod grid_absolute_container_negative_position;
221#[cfg(feature = "grid")]
222mod grid_absolute_container_negative_position_margin;
223#[cfg(feature = "grid")]
224mod grid_absolute_container_top_bottom;
225#[cfg(feature = "grid")]
226mod grid_absolute_container_top_bottom_margin;
227#[cfg(feature = "grid")]
228mod grid_absolute_container_top_right;
229#[cfg(feature = "grid")]
230mod grid_absolute_container_top_right_margin;
231#[cfg(feature = "grid")]
232mod grid_absolute_justify_self_sized_all;
233#[cfg(feature = "grid")]
234mod grid_absolute_row_end;
235#[cfg(feature = "grid")]
236mod grid_absolute_row_start;
237#[cfg(feature = "grid")]
238mod grid_absolute_top_overrides_bottom;
239#[cfg(feature = "grid")]
240mod grid_absolute_with_padding;
241#[cfg(feature = "grid")]
242mod grid_absolute_with_padding_and_margin;
243#[cfg(feature = "grid")]
244mod grid_align_content_center;
245#[cfg(feature = "grid")]
246mod grid_align_content_end;
247#[cfg(feature = "grid")]
248mod grid_align_content_end_with_padding_border;
249#[cfg(feature = "grid")]
250mod grid_align_content_space_around;
251#[cfg(feature = "grid")]
252mod grid_align_content_space_around_with_padding_border;
253#[cfg(feature = "grid")]
254mod grid_align_content_space_between;
255#[cfg(feature = "grid")]
256mod grid_align_content_space_between_with_padding_border;
257#[cfg(feature = "grid")]
258mod grid_align_content_space_evenly;
259#[cfg(feature = "grid")]
260mod grid_align_content_space_evenly_with_padding_border;
261#[cfg(feature = "grid")]
262mod grid_align_content_start;
263#[cfg(feature = "grid")]
264mod grid_align_content_start_with_padding_border;
265#[cfg(feature = "grid")]
266mod grid_align_items_sized_center;
267#[cfg(feature = "grid")]
268mod grid_align_items_sized_end;
269#[cfg(feature = "grid")]
270mod grid_align_items_sized_start;
271#[cfg(feature = "grid")]
272mod grid_align_items_sized_stretch;
273#[cfg(feature = "grid")]
274mod grid_align_self_sized_all;
275#[cfg(feature = "grid")]
276mod grid_auto_columns_fixed_width;
277#[cfg(feature = "grid")]
278mod grid_auto_fill_fixed_size;
279#[cfg(feature = "grid")]
280mod grid_auto_fill_with_empty_auto_track;
281#[cfg(feature = "grid")]
282mod grid_auto_fit_with_empty_auto_track;
283#[cfg(feature = "grid")]
284mod grid_auto_single_item;
285#[cfg(feature = "grid")]
286mod grid_auto_single_item_fixed_width;
287#[cfg(feature = "grid")]
288mod grid_auto_single_item_fixed_width_with_definite_width;
289#[cfg(feature = "grid")]
290mod grid_basic;
291#[cfg(feature = "grid")]
292mod grid_basic_implicit_tracks;
293#[cfg(feature = "grid")]
294mod grid_basic_with_overflow;
295#[cfg(feature = "grid")]
296mod grid_basic_with_padding;
297#[cfg(feature = "grid")]
298mod grid_fit_content_points_argument;
299#[cfg(feature = "grid")]
300mod grid_fit_content_points_max_content;
301#[cfg(feature = "grid")]
302mod grid_fit_content_points_min_content;
303#[cfg(feature = "grid")]
304mod grid_fr_auto_no_sized_items;
305#[cfg(feature = "grid")]
306mod grid_fr_auto_single_item;
307#[cfg(feature = "grid")]
308mod grid_fr_fixed_size_no_content;
309#[cfg(feature = "grid")]
310mod grid_fr_fixed_size_single_item;
311#[cfg(feature = "grid")]
312mod grid_gap;
313#[cfg(feature = "grid")]
314mod grid_hidden;
315#[cfg(feature = "grid")]
316mod grid_justify_content_center;
317#[cfg(feature = "grid")]
318mod grid_justify_content_center_with_padding_border;
319#[cfg(feature = "grid")]
320mod grid_justify_content_end;
321#[cfg(feature = "grid")]
322mod grid_justify_content_end_with_padding_border;
323#[cfg(feature = "grid")]
324mod grid_justify_content_space_around;
325#[cfg(feature = "grid")]
326mod grid_justify_content_space_around_with_padding_border;
327#[cfg(feature = "grid")]
328mod grid_justify_content_space_between;
329#[cfg(feature = "grid")]
330mod grid_justify_content_space_between_with_padding_border;
331#[cfg(feature = "grid")]
332mod grid_justify_content_space_evenly;
333#[cfg(feature = "grid")]
334mod grid_justify_content_space_evenly_with_padding_border;
335#[cfg(feature = "grid")]
336mod grid_justify_content_start;
337#[cfg(feature = "grid")]
338mod grid_justify_content_start_with_padding_border;
339#[cfg(feature = "grid")]
340mod grid_justify_items_sized_center;
341#[cfg(feature = "grid")]
342mod grid_justify_items_sized_end;
343#[cfg(feature = "grid")]
344mod grid_justify_items_sized_start;
345#[cfg(feature = "grid")]
346mod grid_justify_items_sized_stretch;
347#[cfg(feature = "grid")]
348mod grid_justify_self_sized_all;
349#[cfg(feature = "grid")]
350mod grid_margins_auto_margins;
351#[cfg(feature = "grid")]
352mod grid_margins_auto_margins_override_stretch;
353#[cfg(feature = "grid")]
354mod grid_margins_fixed_center;
355#[cfg(feature = "grid")]
356mod grid_margins_fixed_end;
357#[cfg(feature = "grid")]
358mod grid_margins_fixed_start;
359#[cfg(feature = "grid")]
360mod grid_margins_fixed_stretch;
361#[cfg(feature = "grid")]
362mod grid_margins_percent_center;
363#[cfg(feature = "grid")]
364mod grid_margins_percent_end;
365#[cfg(feature = "grid")]
366mod grid_margins_percent_start;
367#[cfg(feature = "grid")]
368mod grid_margins_percent_stretch;
369#[cfg(feature = "grid")]
370mod grid_max_content_maximum_single_item;
371#[cfg(feature = "grid")]
372mod grid_max_content_single_item;
373#[cfg(feature = "grid")]
374mod grid_max_content_single_item_margin_auto;
375#[cfg(feature = "grid")]
376mod grid_max_content_single_item_margin_fixed;
377#[cfg(feature = "grid")]
378mod grid_max_content_single_item_margin_percent;
379#[cfg(feature = "grid")]
380mod grid_min_content_flex_column;
381#[cfg(feature = "grid")]
382mod grid_min_content_flex_row;
383#[cfg(feature = "grid")]
384mod grid_min_content_flex_single_item;
385#[cfg(feature = "grid")]
386mod grid_min_content_flex_single_item_margin_auto;
387#[cfg(feature = "grid")]
388mod grid_min_content_flex_single_item_margin_fixed;
389#[cfg(feature = "grid")]
390mod grid_min_content_flex_single_item_margin_percent;
391#[cfg(feature = "grid")]
392mod grid_min_content_maximum_single_item;
393#[cfg(feature = "grid")]
394mod grid_min_content_single_item;
395#[cfg(feature = "grid")]
396mod grid_min_max_column_auto;
397#[cfg(feature = "grid")]
398mod grid_min_max_column_fixed_width_above_range;
399#[cfg(feature = "grid")]
400mod grid_min_max_column_fixed_width_below_range;
401#[cfg(feature = "grid")]
402mod grid_min_max_column_fixed_width_within_range;
403#[cfg(feature = "grid")]
404mod grid_out_of_order_items;
405#[cfg(feature = "grid")]
406mod grid_relayout_vertical_text;
407#[cfg(feature = "grid")]
408mod grid_size_child_fixed_tracks;
409mod justify_content_column_center;
410mod justify_content_column_flex_end;
411mod justify_content_column_flex_start;
412mod justify_content_column_min_height_and_margin_bottom;
413mod justify_content_column_min_height_and_margin_top;
414mod justify_content_column_space_around;
415mod justify_content_column_space_between;
416mod justify_content_column_space_evenly;
417mod justify_content_min_max;
418mod justify_content_min_width_with_padding_child_width_greater_than_parent;
419mod justify_content_min_width_with_padding_child_width_lower_than_parent;
420mod justify_content_overflow_min_max;
421mod justify_content_row_center;
422mod justify_content_row_flex_end;
423mod justify_content_row_flex_start;
424mod justify_content_row_max_width_and_margin;
425mod justify_content_row_min_width_and_margin;
426mod justify_content_row_space_around;
427mod justify_content_row_space_between;
428mod justify_content_row_space_evenly;
429mod margin_and_flex_column;
430mod margin_and_flex_row;
431mod margin_and_stretch_column;
432mod margin_and_stretch_row;
433mod margin_auto_bottom;
434mod margin_auto_bottom_and_top;
435mod margin_auto_bottom_and_top_justify_center;
436mod margin_auto_left;
437mod margin_auto_left_and_right;
438mod margin_auto_left_and_right_column;
439mod margin_auto_left_and_right_column_and_center;
440mod margin_auto_left_and_right_strech;
441mod margin_auto_left_child_bigger_than_parent;
442mod margin_auto_left_fix_right_child_bigger_than_parent;
443mod margin_auto_left_right_child_bigger_than_parent;
444mod margin_auto_left_stretching_child;
445mod margin_auto_mutiple_children_column;
446mod margin_auto_mutiple_children_row;
447mod margin_auto_right;
448mod margin_auto_top;
449mod margin_auto_top_and_bottom_strech;
450mod margin_auto_top_stretching_child;
451mod margin_bottom;
452mod margin_fix_left_auto_right_child_bigger_than_parent;
453mod margin_left;
454mod margin_right;
455mod margin_should_not_be_part_of_max_height;
456mod margin_should_not_be_part_of_max_width;
457mod margin_top;
458mod margin_with_sibling_column;
459mod margin_with_sibling_row;
460mod max_height;
461mod max_height_overrides_height;
462mod max_height_overrides_height_on_root;
463mod max_width;
464mod max_width_overrides_width;
465mod max_width_overrides_width_on_root;
466mod measure_child;
467mod measure_child_absolute;
468mod measure_child_constraint;
469mod measure_child_constraint_padding_parent;
470mod measure_child_with_flex_grow;
471mod measure_child_with_flex_shrink;
472mod measure_flex_basis_overrides_measure;
473mod measure_height_overrides_measure;
474mod measure_remeasure_child_after_growing;
475mod measure_remeasure_child_after_shrinking;
476mod measure_remeasure_child_after_stretching;
477mod measure_root;
478mod measure_stretch_overrides_measure;
479mod measure_width_overrides_measure;
480mod min_height;
481mod min_height_overrides_height;
482mod min_height_overrides_height_on_root;
483mod min_height_overrides_max_height;
484mod min_max_percent_no_width_height;
485mod min_width;
486mod min_width_overrides_max_width;
487mod min_width_overrides_width;
488mod min_width_overrides_width_on_root;
489mod nested_overflowing_child;
490mod nested_overflowing_child_in_constraint_parent;
491mod overflow_cross_axis;
492mod overflow_main_axis;
493mod padding_align_end_child;
494mod padding_center_child;
495mod padding_flex_child;
496mod padding_no_child;
497mod padding_stretch_child;
498mod parent_wrap_child_size_overflowing_parent;
499mod percent_absolute_position;
500mod percent_within_flex_grow;
501mod percentage_absolute_position;
502mod percentage_container_in_wrapping_container;
503mod percentage_flex_basis;
504mod percentage_flex_basis_cross;
505mod percentage_flex_basis_cross_max_height;
506mod percentage_flex_basis_cross_max_width;
507mod percentage_flex_basis_cross_min_height;
508mod percentage_flex_basis_cross_min_width;
509mod percentage_flex_basis_main_max_height;
510mod percentage_flex_basis_main_max_width;
511mod percentage_flex_basis_main_min_width;
512mod percentage_margin_should_calculate_based_only_on_width;
513mod percentage_multiple_nested_with_padding_margin_and_percentage_values;
514mod percentage_padding_should_calculate_based_only_on_width;
515mod percentage_position_bottom_right;
516mod percentage_position_left_top;
517mod percentage_size_based_on_parent_inner_size;
518mod percentage_size_of_flex_basis;
519mod percentage_width_height;
520mod percentage_width_height_undefined_parent_size;
521mod relative_position_should_not_nudge_siblings;
522mod rounding_flex_basis_flex_grow_row_prime_number_width;
523mod rounding_flex_basis_flex_grow_row_width_of_100;
524mod rounding_flex_basis_flex_shrink_row;
525mod rounding_flex_basis_overrides_main_size;
526mod rounding_fractial_input_1;
527mod rounding_fractial_input_2;
528mod rounding_fractial_input_3;
529mod rounding_fractial_input_4;
530mod rounding_total_fractial;
531mod rounding_total_fractial_nested;
532mod size_defined_by_child;
533mod size_defined_by_child_with_border;
534mod size_defined_by_child_with_padding;
535mod size_defined_by_grand_child;
536mod width_smaller_then_content_with_flex_grow_large_size;
537mod width_smaller_then_content_with_flex_grow_small_size;
538mod width_smaller_then_content_with_flex_grow_unconstraint_size;
539mod width_smaller_then_content_with_flex_grow_very_large_size;
540mod wrap_column;
541mod wrap_nodes_with_content_sizing_margin_cross;
542mod wrap_nodes_with_content_sizing_overflowing_margin;
543mod wrap_reverse_column;
544mod wrap_reverse_column_fixed_size;
545mod wrap_reverse_row;
546mod wrap_reverse_row_align_content_center;
547mod wrap_reverse_row_align_content_flex_start;
548mod wrap_reverse_row_align_content_space_around;
549mod wrap_reverse_row_align_content_stretch;
550mod wrap_reverse_row_single_line_different_size;
551mod wrap_row;
552mod wrap_row_align_items_center;
553mod wrap_row_align_items_flex_end;
554mod wrapped_column_max_height;
555mod wrapped_column_max_height_flex;
556mod wrapped_row_within_align_items_center;
557mod wrapped_row_within_align_items_flex_end;
558mod wrapped_row_within_align_items_flex_start;