aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreu Botella <abotella@igalia.com>2024-05-02 09:17:32 +0200
committerGitHub <noreply@github.com>2024-05-02 07:17:32 +0000
commit8ec5344f70dd1d556cacd72d778924048b0b1154 (patch)
treec75a6ef98c1085cf5f6da9f38c91c3ee573b4038
parent928214518cc2ed44112295c7aae675fc29f5a50b (diff)
downloadservo-8ec5344f70dd1d556cacd72d778924048b0b1154.tar.gz
servo-8ec5344f70dd1d556cacd72d778924048b0b1154.zip
feat: Support font-relative `ch` and `ic` units (#32171)
* feat: Support font-relative `ch` and `ic` units After #31966, which made it possible for the first time to resolve font-relative CSS units, this change adds support for the `ch` and `ic` units. One difference with the `ex` unit that was added in that PR is that these units must reflect the advance width of a character (the zero digit in the case of `ch`, and the CJK water radical for `ic`) as it would be rendered by the current font group. This means that the size of these units don't only depend on the first available font, in the case where that font does not contain a glyph for that character. This is implemented by adding the advance width for these two characters as optional fields of `FontMetrics`, so the advance width computation happens in advance. Then, when the font metrics are queried as part of unit resolution, the font group is searched for the first font containing that character. This change only implements support for these units in upright typesetting modes, since Servo does not yet have support for vertical writing modes. This means that many of the WPT tests that test for the behavior of these units with vertical writing modes do not pass. This change also makes a number of WPT tests pass, which relied on the `ch` and `ic` units. It, however, also makes the test `/css/css-text/white-space/text-wrap-balance-overflow-002.html` fail, since it tests `text-wrap: balance`, which Servo does not yet implement, and it was only previously passing by chance due to the previous behavior of these units. * Revert Python 3.10-related changes to wss * Fix formatting * Remove test expectation
-rw-r--r--components/gfx/font.rs4
-rw-r--r--components/gfx/platform/freetype/font.rs12
-rw-r--r--components/gfx/platform/macos/font.rs12
-rw-r--r--components/gfx/platform/windows/font.rs11
-rw-r--r--components/layout_thread_2020/lib.rs36
-rw-r--r--tests/wpt/meta/css/CSS2/floats/float-nowrap-hyphen-rewind-1.html.ini2
-rw-r--r--tests/wpt/meta/css/CSS2/linebox/inline-negative-margin-001.html.ini12
-rw-r--r--tests/wpt/meta/css/css-text/hyphens/hyphenate-character-001.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/hyphens/hyphens-none-014.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/hyphens/hyphens-none-015.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/line-break/line-break-anywhere-012.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/line-break/line-break-anywhere-overrides-uax-behavior-015.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/text-align/text-align-justify-tabs-001.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-001.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-002.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-003.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-014.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/break-spaces-with-ideographic-space-002.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/break-spaces-with-ideographic-space-003.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-008.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-009.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-011.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-018.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-020.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-float-001.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-004.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-005.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-006.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-007.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-008.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-009.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-010.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-011.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-013.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-014.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-015.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-016.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-017.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-tab-002.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-tab-003.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/pre-wrap-tab-005.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/text-wrap-balance-overflow-002.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/textarea-break-spaces-002.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/textarea-pre-wrap-011.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/trailing-space-align-start.tentative.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/trailing-space-and-text-alignment-003.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/trailing-space-and-text-alignment-004.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/trailing-space-and-text-alignment-rtl-003.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/trailing-space-position-001.html.ini3
-rw-r--r--tests/wpt/meta/css/css-text/white-space/white-space-normal-011.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-001.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-005.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-012.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-014.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-015.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-021.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-022.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-023.html.ini2
-rw-r--r--tests/wpt/meta/css/css-ui/text-overflow-ellipsis-indent-001.html.ini2
-rw-r--r--tests/wpt/meta/css/css-values/ch-unit-008.html.ini2
-rw-r--r--tests/wpt/meta/css/css-values/ch-unit-016.html.ini2
-rw-r--r--tests/wpt/meta/css/css-values/ic-unit-013.html.ini2
-rw-r--r--tests/wpt/meta/css/css-values/ic-unit-014.html.ini2
-rw-r--r--tests/wpt/meta/css/css-values/line-break-ch-unit.html.ini291
68 files changed, 66 insertions, 435 deletions
diff --git a/components/gfx/font.rs b/components/gfx/font.rs
index 65c984ed3cb..1921edc1d12 100644
--- a/components/gfx/font.rs
+++ b/components/gfx/font.rs
@@ -131,6 +131,8 @@ pub struct FontMetrics {
pub max_advance: Au,
pub average_advance: Au,
pub line_gap: Au,
+ pub zero_horizontal_advance: Option<Au>,
+ pub ic_horizontal_advance: Option<Au>,
}
impl FontMetrics {
@@ -150,6 +152,8 @@ impl FontMetrics {
max_advance: Au(0),
average_advance: Au(0),
line_gap: Au(0),
+ zero_horizontal_advance: None,
+ ic_horizontal_advance: None,
}
}
}
diff --git a/components/gfx/platform/freetype/font.rs b/components/gfx/platform/freetype/font.rs
index 33bd7be0aa0..f437dbed8c0 100644
--- a/components/gfx/platform/freetype/font.rs
+++ b/components/gfx/platform/freetype/font.rs
@@ -261,10 +261,16 @@ impl PlatformFontMethods for PlatformFont {
x_height = self.font_units_to_au(os2.sx_height as f64);
}
- let average_advance = self
+ let zero_horizontal_advance = self
.glyph_index('0')
.and_then(|idx| self.glyph_h_advance(idx))
- .map_or(max_advance, |advance| self.font_units_to_au(advance));
+ .map(Au::from_f64_px);
+ let ic_horizontal_advance = self
+ .glyph_index('\u{6C34}')
+ .and_then(|idx| self.glyph_h_advance(idx))
+ .map(Au::from_f64_px);
+
+ let average_advance = zero_horizontal_advance.unwrap_or(max_advance);
let metrics = FontMetrics {
underline_size,
@@ -279,6 +285,8 @@ impl PlatformFontMethods for PlatformFont {
max_advance,
average_advance,
line_gap: height,
+ zero_horizontal_advance,
+ ic_horizontal_advance,
};
debug!("Font metrics (@{}px): {:?}", em_size.to_f32_px(), metrics);
diff --git a/components/gfx/platform/macos/font.rs b/components/gfx/platform/macos/font.rs
index 7844ecb9089..c6e009ffae8 100644
--- a/components/gfx/platform/macos/font.rs
+++ b/components/gfx/platform/macos/font.rs
@@ -259,11 +259,15 @@ impl PlatformFontMethods for PlatformFont {
let line_gap = (ascent + descent + leading + 0.5).floor();
let max_advance = Au::from_f64_px(self.ctfont.bounding_box().size.width);
- let average_advance = self
+ let zero_horizontal_advance = self
.glyph_index('0')
.and_then(|idx| self.glyph_h_advance(idx))
- .map(Au::from_f64_px)
- .unwrap_or(max_advance);
+ .map(Au::from_f64_px);
+ let ic_horizontal_advance = self
+ .glyph_index('\u{6C34}')
+ .and_then(|idx| self.glyph_h_advance(idx))
+ .map(Au::from_f64_px);
+ let average_advance = zero_horizontal_advance.unwrap_or(max_advance);
let metrics = FontMetrics {
underline_size: Au::from_f64_au(underline_thickness),
@@ -286,6 +290,8 @@ impl PlatformFontMethods for PlatformFont {
max_advance,
average_advance,
line_gap: Au::from_f64_px(line_gap),
+ zero_horizontal_advance,
+ ic_horizontal_advance,
};
debug!(
"Font metrics (@{} pt): {:?}",
diff --git a/components/gfx/platform/windows/font.rs b/components/gfx/platform/windows/font.rs
index ce28d0f378b..5debd0c64fa 100644
--- a/components/gfx/platform/windows/font.rs
+++ b/components/gfx/platform/windows/font.rs
@@ -232,6 +232,15 @@ impl PlatformFontMethods for PlatformFont {
// is pulled out here for clarity
let leading = dm.ascent - dm.capHeight;
+ let zero_horizontal_advance = self
+ .glyph_index('0')
+ .and_then(|idx| self.glyph_h_advance(idx))
+ .map(Au::from_f64_px);
+ let ic_horizontal_advance = self
+ .glyph_index('\u{6C34}')
+ .and_then(|idx| self.glyph_h_advance(idx))
+ .map(Au::from_f64_px);
+
let metrics = FontMetrics {
underline_size: au_from_du(dm.underlineThickness as i32),
underline_offset: au_from_du_s(dm.underlinePosition as i32),
@@ -245,6 +254,8 @@ impl PlatformFontMethods for PlatformFont {
max_advance: au_from_pt(0.0), // FIXME
average_advance: au_from_pt(0.0), // FIXME
line_gap: au_from_du_s((dm.ascent + dm.descent + dm.lineGap as u16) as i32),
+ zero_horizontal_advance,
+ ic_horizontal_advance,
};
debug!("Font metrics (@{} pt): {:?}", self.em_size * 12., metrics);
metrics
diff --git a/components/layout_thread_2020/lib.rs b/components/layout_thread_2020/lib.rs
index e9bf481f8c6..d0a9eccfef9 100644
--- a/components/layout_thread_2020/lib.rs
+++ b/components/layout_thread_2020/lib.rs
@@ -1247,8 +1247,9 @@ impl FontMetricsProvider for LayoutFontMetricsProvider {
_retrieve_math_scales: bool,
) -> FontMetrics {
layout::context::with_thread_local_font_context(&self.0, move |font_context| {
- let Some(servo_metrics) = font_context
- .font_group_with_size(ServoArc::new(font.clone()), base_size.into())
+ let font_group =
+ font_context.font_group_with_size(ServoArc::new(font.clone()), base_size.into());
+ let Some(first_font_metrics) = font_group
.borrow_mut()
.first(font_context)
.map(|font| font.borrow().metrics.clone())
@@ -1258,16 +1259,39 @@ impl FontMetricsProvider for LayoutFontMetricsProvider {
// Only use the x-height of this font if it is non-zero. Some fonts return
// inaccurate metrics, which shouldn't be used.
- let x_height = Some(servo_metrics.x_height)
+ let x_height = Some(first_font_metrics.x_height)
.filter(|x_height| !x_height.is_zero())
.map(CSSPixelLength::from);
+ let zero_advance_measure = first_font_metrics
+ .zero_horizontal_advance
+ .or_else(|| {
+ font_group
+ .borrow_mut()
+ .find_by_codepoint(font_context, '0')?
+ .borrow()
+ .metrics
+ .zero_horizontal_advance
+ })
+ .map(CSSPixelLength::from);
+ let ic_width = first_font_metrics
+ .ic_horizontal_advance
+ .or_else(|| {
+ font_group
+ .borrow_mut()
+ .find_by_codepoint(font_context, '\u{6C34}')?
+ .borrow()
+ .metrics
+ .ic_horizontal_advance
+ })
+ .map(CSSPixelLength::from);
+
FontMetrics {
x_height,
- zero_advance_measure: None,
+ zero_advance_measure,
cap_height: None,
- ic_width: None,
- ascent: servo_metrics.ascent.into(),
+ ic_width,
+ ascent: first_font_metrics.ascent.into(),
script_percent_scale_down: None,
script_script_percent_scale_down: None,
}
diff --git a/tests/wpt/meta/css/CSS2/floats/float-nowrap-hyphen-rewind-1.html.ini b/tests/wpt/meta/css/CSS2/floats/float-nowrap-hyphen-rewind-1.html.ini
deleted file mode 100644
index ed555fc3b90..00000000000
--- a/tests/wpt/meta/css/CSS2/floats/float-nowrap-hyphen-rewind-1.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[float-nowrap-hyphen-rewind-1.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/CSS2/linebox/inline-negative-margin-001.html.ini b/tests/wpt/meta/css/CSS2/linebox/inline-negative-margin-001.html.ini
deleted file mode 100644
index 2d6c12d520c..00000000000
--- a/tests/wpt/meta/css/CSS2/linebox/inline-negative-margin-001.html.ini
+++ /dev/null
@@ -1,12 +0,0 @@
-[inline-negative-margin-001.html]
- [[data-expected-height\] 3]
- expected: FAIL
-
- [[data-expected-height\] 4]
- expected: FAIL
-
- [[data-expected-height\] 5]
- expected: FAIL
-
- [[data-expected-height\] 6]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/hyphens/hyphenate-character-001.html.ini b/tests/wpt/meta/css/css-text/hyphens/hyphenate-character-001.html.ini
deleted file mode 100644
index 521522f6b42..00000000000
--- a/tests/wpt/meta/css/css-text/hyphens/hyphenate-character-001.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[hyphenate-character-001.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/hyphens/hyphens-none-014.html.ini b/tests/wpt/meta/css/css-text/hyphens/hyphens-none-014.html.ini
deleted file mode 100644
index eff59a639d5..00000000000
--- a/tests/wpt/meta/css/css-text/hyphens/hyphens-none-014.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[hyphens-none-014.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/hyphens/hyphens-none-015.html.ini b/tests/wpt/meta/css/css-text/hyphens/hyphens-none-015.html.ini
deleted file mode 100644
index 32de3ee1ec4..00000000000
--- a/tests/wpt/meta/css/css-text/hyphens/hyphens-none-015.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[hyphens-none-015.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/line-break/line-break-anywhere-012.html.ini b/tests/wpt/meta/css/css-text/line-break/line-break-anywhere-012.html.ini
deleted file mode 100644
index 3379705470f..00000000000
--- a/tests/wpt/meta/css/css-text/line-break/line-break-anywhere-012.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[line-break-anywhere-012.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/line-break/line-break-anywhere-overrides-uax-behavior-015.html.ini b/tests/wpt/meta/css/css-text/line-break/line-break-anywhere-overrides-uax-behavior-015.html.ini
deleted file mode 100644
index a402bca6a59..00000000000
--- a/tests/wpt/meta/css/css-text/line-break/line-break-anywhere-overrides-uax-behavior-015.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[line-break-anywhere-overrides-uax-behavior-015.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html.ini b/tests/wpt/meta/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html.ini
deleted file mode 100644
index d3d12cf452f..00000000000
--- a/tests/wpt/meta/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[overflow-wrap-break-word-007.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/text-align/text-align-justify-tabs-001.html.ini b/tests/wpt/meta/css/css-text/text-align/text-align-justify-tabs-001.html.ini
deleted file mode 100644
index 47a2b23a988..00000000000
--- a/tests/wpt/meta/css/css-text/text-align/text-align-justify-tabs-001.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-align-justify-tabs-001.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-001.html.ini b/tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-001.html.ini
deleted file mode 100644
index b0a2d225cce..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-001.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[break-spaces-before-first-ideographic-char-001.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-002.html.ini b/tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-002.html.ini
deleted file mode 100644
index 8e97669fed6..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-002.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[break-spaces-before-first-ideographic-char-002.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-003.html.ini b/tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-003.html.ini
deleted file mode 100644
index f0dd89fa1b1..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-003.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[break-spaces-before-first-ideographic-char-003.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-014.html.ini b/tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-014.html.ini
deleted file mode 100644
index ebc19e6adb0..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/break-spaces-before-first-ideographic-char-014.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[break-spaces-before-first-ideographic-char-014.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/break-spaces-with-ideographic-space-002.html.ini b/tests/wpt/meta/css/css-text/white-space/break-spaces-with-ideographic-space-002.html.ini
deleted file mode 100644
index 448f267c19f..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/break-spaces-with-ideographic-space-002.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[break-spaces-with-ideographic-space-002.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/break-spaces-with-ideographic-space-003.html.ini b/tests/wpt/meta/css/css-text/white-space/break-spaces-with-ideographic-space-003.html.ini
deleted file mode 100644
index 5aeb89e9cc8..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/break-spaces-with-ideographic-space-003.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[break-spaces-with-ideographic-space-003.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-008.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-008.html.ini
deleted file mode 100644
index 7347535e71e..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-008.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-008.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-009.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-009.html.ini
deleted file mode 100644
index 6b908f61ec1..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-009.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-009.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-011.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-011.html.ini
deleted file mode 100644
index bb0ba0afe0d..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-011.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-011.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-018.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-018.html.ini
deleted file mode 100644
index 43602b2e21b..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-018.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-018.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-020.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-020.html.ini
deleted file mode 100644
index 2954a812945..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-020.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-020.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-float-001.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-float-001.html.ini
deleted file mode 100644
index 6345438ea47..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-float-001.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-float-001.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-004.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-004.html.ini
deleted file mode 100644
index 62ec0b19b4c..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-004.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-leading-spaces-004.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-005.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-005.html.ini
deleted file mode 100644
index 70951d71c06..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-005.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-leading-spaces-005.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-006.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-006.html.ini
deleted file mode 100644
index 92a368aac84..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-006.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-leading-spaces-006.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-007.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-007.html.ini
deleted file mode 100644
index 60d9bc3af59..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-007.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-leading-spaces-007.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-008.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-008.html.ini
deleted file mode 100644
index 5cd14487019..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-008.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-leading-spaces-008.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-009.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-009.html.ini
deleted file mode 100644
index 1adcebcf535..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-009.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-leading-spaces-009.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-010.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-010.html.ini
deleted file mode 100644
index c2934bcba3a..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-010.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-leading-spaces-010.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-011.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-011.html.ini
deleted file mode 100644
index ea88321d248..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-011.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-leading-spaces-011.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-013.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-013.html.ini
deleted file mode 100644
index 6ad9a12a91a..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-013.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-leading-spaces-013.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-014.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-014.html.ini
deleted file mode 100644
index 5fafae91ec2..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-014.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-leading-spaces-014.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-015.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-015.html.ini
deleted file mode 100644
index 60f446a833e..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-015.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-leading-spaces-015.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-016.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-016.html.ini
deleted file mode 100644
index f2179192fb0..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-016.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-leading-spaces-016.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-017.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-017.html.ini
deleted file mode 100644
index 76d72b1d5ae..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-leading-spaces-017.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-leading-spaces-017.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-tab-002.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-tab-002.html.ini
deleted file mode 100644
index 3acfd9651db..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-tab-002.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-tab-002.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-tab-003.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-tab-003.html.ini
deleted file mode 100644
index 1e1ad3d26d9..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-tab-003.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-tab-003.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/pre-wrap-tab-005.html.ini b/tests/wpt/meta/css/css-text/white-space/pre-wrap-tab-005.html.ini
deleted file mode 100644
index 94cb1f1692c..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/pre-wrap-tab-005.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[pre-wrap-tab-005.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/text-wrap-balance-overflow-002.html.ini b/tests/wpt/meta/css/css-text/white-space/text-wrap-balance-overflow-002.html.ini
new file mode 100644
index 00000000000..f72a2468690
--- /dev/null
+++ b/tests/wpt/meta/css/css-text/white-space/text-wrap-balance-overflow-002.html.ini
@@ -0,0 +1,2 @@
+[text-wrap-balance-overflow-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/textarea-break-spaces-002.html.ini b/tests/wpt/meta/css/css-text/white-space/textarea-break-spaces-002.html.ini
deleted file mode 100644
index fe737dcb602..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/textarea-break-spaces-002.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[textarea-break-spaces-002.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/textarea-pre-wrap-011.html.ini b/tests/wpt/meta/css/css-text/white-space/textarea-pre-wrap-011.html.ini
deleted file mode 100644
index aec6bb195ac..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/textarea-pre-wrap-011.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[textarea-pre-wrap-011.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/trailing-space-align-start.tentative.html.ini b/tests/wpt/meta/css/css-text/white-space/trailing-space-align-start.tentative.html.ini
deleted file mode 100644
index 12cff3ab4cd..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/trailing-space-align-start.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[trailing-space-align-start.tentative.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/trailing-space-and-text-alignment-003.html.ini b/tests/wpt/meta/css/css-text/white-space/trailing-space-and-text-alignment-003.html.ini
deleted file mode 100644
index fa50727e424..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/trailing-space-and-text-alignment-003.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[trailing-space-and-text-alignment-003.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/trailing-space-and-text-alignment-004.html.ini b/tests/wpt/meta/css/css-text/white-space/trailing-space-and-text-alignment-004.html.ini
deleted file mode 100644
index 69a27d8a034..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/trailing-space-and-text-alignment-004.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[trailing-space-and-text-alignment-004.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/trailing-space-and-text-alignment-rtl-003.html.ini b/tests/wpt/meta/css/css-text/white-space/trailing-space-and-text-alignment-rtl-003.html.ini
deleted file mode 100644
index b219bf63b8c..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/trailing-space-and-text-alignment-rtl-003.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[trailing-space-and-text-alignment-rtl-003.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/trailing-space-position-001.html.ini b/tests/wpt/meta/css/css-text/white-space/trailing-space-position-001.html.ini
index f78e6b94672..1ec32f73072 100644
--- a/tests/wpt/meta/css/css-text/white-space/trailing-space-position-001.html.ini
+++ b/tests/wpt/meta/css/css-text/white-space/trailing-space-position-001.html.ini
@@ -1,6 +1,3 @@
[trailing-space-position-001.html]
- [CSS Test: Positions of trailing collapsible spaces 1]
- expected: FAIL
-
[CSS Test: Positions of trailing collapsible spaces 3]
expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/white-space-normal-011.html.ini b/tests/wpt/meta/css/css-text/white-space/white-space-normal-011.html.ini
deleted file mode 100644
index c0ad8b521d7..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/white-space-normal-011.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[white-space-normal-011.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-001.html.ini b/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-001.html.ini
deleted file mode 100644
index 5be7dd6e397..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-001.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[white-space-pre-wrap-trailing-spaces-001.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-005.html.ini b/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-005.html.ini
deleted file mode 100644
index 3316960bcb6..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-005.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[white-space-pre-wrap-trailing-spaces-005.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html.ini b/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html.ini
deleted file mode 100644
index 871f3de0ebb..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[white-space-pre-wrap-trailing-spaces-007.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html.ini b/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html.ini
deleted file mode 100644
index 74798f57999..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[white-space-pre-wrap-trailing-spaces-008.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html.ini b/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html.ini
deleted file mode 100644
index 9a188c58a74..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[white-space-pre-wrap-trailing-spaces-011.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-012.html.ini b/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-012.html.ini
deleted file mode 100644
index 337b5c8d604..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-012.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[white-space-pre-wrap-trailing-spaces-012.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-014.html.ini b/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-014.html.ini
deleted file mode 100644
index de0803bc79d..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-014.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[white-space-pre-wrap-trailing-spaces-014.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-015.html.ini b/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-015.html.ini
deleted file mode 100644
index 4d79bd0c544..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-015.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[white-space-pre-wrap-trailing-spaces-015.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-021.html.ini b/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-021.html.ini
deleted file mode 100644
index 053c82e0e47..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-021.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[white-space-pre-wrap-trailing-spaces-021.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-022.html.ini b/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-022.html.ini
deleted file mode 100644
index 35e1d2c4a86..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-022.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[white-space-pre-wrap-trailing-spaces-022.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-023.html.ini b/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-023.html.ini
deleted file mode 100644
index d6e6ea8d141..00000000000
--- a/tests/wpt/meta/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-023.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[white-space-pre-wrap-trailing-spaces-023.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-ui/text-overflow-ellipsis-indent-001.html.ini b/tests/wpt/meta/css/css-ui/text-overflow-ellipsis-indent-001.html.ini
deleted file mode 100644
index 3548640a19f..00000000000
--- a/tests/wpt/meta/css/css-ui/text-overflow-ellipsis-indent-001.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-overflow-ellipsis-indent-001.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/ch-unit-008.html.ini b/tests/wpt/meta/css/css-values/ch-unit-008.html.ini
deleted file mode 100644
index 3de81e8e1c6..00000000000
--- a/tests/wpt/meta/css/css-values/ch-unit-008.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[ch-unit-008.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/ch-unit-016.html.ini b/tests/wpt/meta/css/css-values/ch-unit-016.html.ini
deleted file mode 100644
index a65dd8a593c..00000000000
--- a/tests/wpt/meta/css/css-values/ch-unit-016.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[ch-unit-016.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/ic-unit-013.html.ini b/tests/wpt/meta/css/css-values/ic-unit-013.html.ini
deleted file mode 100644
index 27a71da9fe4..00000000000
--- a/tests/wpt/meta/css/css-values/ic-unit-013.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[ic-unit-013.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/ic-unit-014.html.ini b/tests/wpt/meta/css/css-values/ic-unit-014.html.ini
deleted file mode 100644
index f1d428b369e..00000000000
--- a/tests/wpt/meta/css/css-values/ic-unit-014.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[ic-unit-014.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/line-break-ch-unit.html.ini b/tests/wpt/meta/css/css-values/line-break-ch-unit.html.ini
deleted file mode 100644
index eccc8753c9a..00000000000
--- a/tests/wpt/meta/css/css-values/line-break-ch-unit.html.ini
+++ /dev/null
@@ -1,291 +0,0 @@
-[line-break-ch-unit.html]
- [3ch should fit]
- expected: FAIL
-
- [4ch should fit]
- expected: FAIL
-
- [5ch should fit]
- expected: FAIL
-
- [6ch should fit]
- expected: FAIL
-
- [7ch should fit]
- expected: FAIL
-
- [8ch should fit]
- expected: FAIL
-
- [9ch should fit]
- expected: FAIL
-
- [10ch should fit]
- expected: FAIL
-
- [11ch should fit]
- expected: FAIL
-
- [12ch should fit]
- expected: FAIL
-
- [13ch should fit]
- expected: FAIL
-
- [14ch should fit]
- expected: FAIL
-
- [15ch should fit]
- expected: FAIL
-
- [16ch should fit]
- expected: FAIL
-
- [17ch should fit]
- expected: FAIL
-
- [18ch should fit]
- expected: FAIL
-
- [19ch should fit]
- expected: FAIL
-
- [20ch should fit]
- expected: FAIL
-
- [21ch should fit]
- expected: FAIL
-
- [22ch should fit]
- expected: FAIL
-
- [23ch should fit]
- expected: FAIL
-
- [24ch should fit]
- expected: FAIL
-
- [25ch should fit]
- expected: FAIL
-
- [26ch should fit]
- expected: FAIL
-
- [27ch should fit]
- expected: FAIL
-
- [28ch should fit]
- expected: FAIL
-
- [29ch should fit]
- expected: FAIL
-
- [30ch should fit]
- expected: FAIL
-
- [31ch should fit]
- expected: FAIL
-
- [32ch should fit]
- expected: FAIL
-
- [33ch should fit]
- expected: FAIL
-
- [34ch should fit]
- expected: FAIL
-
- [35ch should fit]
- expected: FAIL
-
- [36ch should fit]
- expected: FAIL
-
- [37ch should fit]
- expected: FAIL
-
- [38ch should fit]
- expected: FAIL
-
- [39ch should fit]
- expected: FAIL
-
- [40ch should fit]
- expected: FAIL
-
- [41ch should fit]
- expected: FAIL
-
- [42ch should fit]
- expected: FAIL
-
- [43ch should fit]
- expected: FAIL
-
- [44ch should fit]
- expected: FAIL
-
- [45ch should fit]
- expected: FAIL
-
- [46ch should fit]
- expected: FAIL
-
- [47ch should fit]
- expected: FAIL
-
- [48ch should fit]
- expected: FAIL
-
- [49ch should fit]
- expected: FAIL
-
- [50ch should fit]
- expected: FAIL
-
- [51ch should fit]
- expected: FAIL
-
- [52ch should fit]
- expected: FAIL
-
- [53ch should fit]
- expected: FAIL
-
- [54ch should fit]
- expected: FAIL
-
- [55ch should fit]
- expected: FAIL
-
- [56ch should fit]
- expected: FAIL
-
- [57ch should fit]
- expected: FAIL
-
- [58ch should fit]
- expected: FAIL
-
- [59ch should fit]
- expected: FAIL
-
- [60ch should fit]
- expected: FAIL
-
- [61ch should fit]
- expected: FAIL
-
- [62ch should fit]
- expected: FAIL
-
- [63ch should fit]
- expected: FAIL
-
- [64ch should fit]
- expected: FAIL
-
- [65ch should fit]
- expected: FAIL
-
- [66ch should fit]
- expected: FAIL
-
- [67ch should fit]
- expected: FAIL
-
- [68ch should fit]
- expected: FAIL
-
- [69ch should fit]
- expected: FAIL
-
- [70ch should fit]
- expected: FAIL
-
- [71ch should fit]
- expected: FAIL
-
- [72ch should fit]
- expected: FAIL
-
- [73ch should fit]
- expected: FAIL
-
- [74ch should fit]
- expected: FAIL
-
- [75ch should fit]
- expected: FAIL
-
- [76ch should fit]
- expected: FAIL
-
- [77ch should fit]
- expected: FAIL
-
- [78ch should fit]
- expected: FAIL
-
- [79ch should fit]
- expected: FAIL
-
- [80ch should fit]
- expected: FAIL
-
- [81ch should fit]
- expected: FAIL
-
- [82ch should fit]
- expected: FAIL
-
- [83ch should fit]
- expected: FAIL
-
- [84ch should fit]
- expected: FAIL
-
- [85ch should fit]
- expected: FAIL
-
- [86ch should fit]
- expected: FAIL
-
- [87ch should fit]
- expected: FAIL
-
- [88ch should fit]
- expected: FAIL
-
- [89ch should fit]
- expected: FAIL
-
- [90ch should fit]
- expected: FAIL
-
- [91ch should fit]
- expected: FAIL
-
- [92ch should fit]
- expected: FAIL
-
- [93ch should fit]
- expected: FAIL
-
- [94ch should fit]
- expected: FAIL
-
- [95ch should fit]
- expected: FAIL
-
- [96ch should fit]
- expected: FAIL
-
- [97ch should fit]
- expected: FAIL
-
- [98ch should fit]
- expected: FAIL
-
- [99ch should fit]
- expected: FAIL