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