diff --git a/test_fixtures/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic.html b/test_fixtures/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic.html
new file mode 100644
index 0000000000..f5b56bea97
--- /dev/null
+++ b/test_fixtures/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic.html
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ Intrinsically measure a flex child's content using its width clamped by max-width
+
+
+
+
+
+
+
HHHH​HHHH​HHHH​HHHH​HHHH​HHHH​HHHH​HHHH​HHHH​HHHH​HHHH​HHHH
+
+
+
+
+
diff --git a/test_fixtures/flex/measure_child_with_percent_width_clamped_by_max_width.html b/test_fixtures/flex/measure_child_with_percent_width_clamped_by_max_width.html
new file mode 100644
index 0000000000..9dec2f58ac
--- /dev/null
+++ b/test_fixtures/flex/measure_child_with_percent_width_clamped_by_max_width.html
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ Measure a flex child's content using its width clamped by max-width
+
+
+
+
+
+
+
HHHH​HHHH​HHHH​HHHH​HHHH​HHHH​HHHH​HHHH​HHHH​HHHH​HHHH​HHHH
+
+
+
+
+
diff --git a/tests/xml/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic__border_box_ltr.xml b/tests/xml/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic__border_box_ltr.xml
new file mode 100644
index 0000000000..cb5309d4bc
--- /dev/null
+++ b/tests/xml/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic__border_box_ltr.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/xml/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic__border_box_rtl.xml b/tests/xml/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic__border_box_rtl.xml
new file mode 100644
index 0000000000..e3003077f5
--- /dev/null
+++ b/tests/xml/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic__border_box_rtl.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/xml/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic__content_box_ltr.xml b/tests/xml/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic__content_box_ltr.xml
new file mode 100644
index 0000000000..7537abd15b
--- /dev/null
+++ b/tests/xml/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic__content_box_ltr.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/xml/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic__content_box_rtl.xml b/tests/xml/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic__content_box_rtl.xml
new file mode 100644
index 0000000000..fe1ef48a5e
--- /dev/null
+++ b/tests/xml/flex/measure_child_with_fixed_width_clamped_by_max_width_intrinsic__content_box_rtl.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/xml/flex/measure_child_with_percent_width_clamped_by_max_width__border_box_ltr.xml b/tests/xml/flex/measure_child_with_percent_width_clamped_by_max_width__border_box_ltr.xml
new file mode 100644
index 0000000000..79fc1e1ffc
--- /dev/null
+++ b/tests/xml/flex/measure_child_with_percent_width_clamped_by_max_width__border_box_ltr.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/xml/flex/measure_child_with_percent_width_clamped_by_max_width__border_box_rtl.xml b/tests/xml/flex/measure_child_with_percent_width_clamped_by_max_width__border_box_rtl.xml
new file mode 100644
index 0000000000..606de87ab5
--- /dev/null
+++ b/tests/xml/flex/measure_child_with_percent_width_clamped_by_max_width__border_box_rtl.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/xml/flex/measure_child_with_percent_width_clamped_by_max_width__content_box_ltr.xml b/tests/xml/flex/measure_child_with_percent_width_clamped_by_max_width__content_box_ltr.xml
new file mode 100644
index 0000000000..ff17d4d098
--- /dev/null
+++ b/tests/xml/flex/measure_child_with_percent_width_clamped_by_max_width__content_box_ltr.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/xml/flex/measure_child_with_percent_width_clamped_by_max_width__content_box_rtl.xml b/tests/xml/flex/measure_child_with_percent_width_clamped_by_max_width__content_box_rtl.xml
new file mode 100644
index 0000000000..d832736042
--- /dev/null
+++ b/tests/xml/flex/measure_child_with_percent_width_clamped_by_max_width__content_box_rtl.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/xml/mod.rs b/tests/xml/mod.rs
index 554d0c35ee..1bca658045 100644
--- a/tests/xml/mod.rs
+++ b/tests/xml/mod.rs
@@ -16067,6 +16067,26 @@ mod flex {
crate::run_xml_test("flex", "measure_child_constraint_padding_parent__content_box_rtl");
}
+ #[test]
+ fn measure_child_with_fixed_width_clamped_by_max_width_intrinsic__border_box_ltr() {
+ crate::run_xml_test("flex", "measure_child_with_fixed_width_clamped_by_max_width_intrinsic__border_box_ltr");
+ }
+
+ #[test]
+ fn measure_child_with_fixed_width_clamped_by_max_width_intrinsic__content_box_ltr() {
+ crate::run_xml_test("flex", "measure_child_with_fixed_width_clamped_by_max_width_intrinsic__content_box_ltr");
+ }
+
+ #[test]
+ fn measure_child_with_fixed_width_clamped_by_max_width_intrinsic__border_box_rtl() {
+ crate::run_xml_test("flex", "measure_child_with_fixed_width_clamped_by_max_width_intrinsic__border_box_rtl");
+ }
+
+ #[test]
+ fn measure_child_with_fixed_width_clamped_by_max_width_intrinsic__content_box_rtl() {
+ crate::run_xml_test("flex", "measure_child_with_fixed_width_clamped_by_max_width_intrinsic__content_box_rtl");
+ }
+
#[test]
fn measure_child_with_flex_grow__border_box_ltr() {
crate::run_xml_test("flex", "measure_child_with_flex_grow__border_box_ltr");
@@ -16147,6 +16167,26 @@ mod flex {
crate::run_xml_test("flex", "measure_child_with_min_size_greater_than_available_space__content_box_rtl");
}
+ #[test]
+ fn measure_child_with_percent_width_clamped_by_max_width__border_box_ltr() {
+ crate::run_xml_test("flex", "measure_child_with_percent_width_clamped_by_max_width__border_box_ltr");
+ }
+
+ #[test]
+ fn measure_child_with_percent_width_clamped_by_max_width__content_box_ltr() {
+ crate::run_xml_test("flex", "measure_child_with_percent_width_clamped_by_max_width__content_box_ltr");
+ }
+
+ #[test]
+ fn measure_child_with_percent_width_clamped_by_max_width__border_box_rtl() {
+ crate::run_xml_test("flex", "measure_child_with_percent_width_clamped_by_max_width__border_box_rtl");
+ }
+
+ #[test]
+ fn measure_child_with_percent_width_clamped_by_max_width__content_box_rtl() {
+ crate::run_xml_test("flex", "measure_child_with_percent_width_clamped_by_max_width__content_box_rtl");
+ }
+
#[test]
fn measure_flex_basis_overrides_measure__border_box_ltr() {
crate::run_xml_test("flex", "measure_flex_basis_overrides_measure__border_box_ltr");