[css-text] Test other space separators for various values of white-space (#18274)
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-001-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-001-ref.html
new file mode 100644
index 0000000..738bd55
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-001-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-002-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-002-ref.html
new file mode 100644
index 0000000..f3abfe4
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-002-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-003-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-003-ref.html
new file mode 100644
index 0000000..a1681bf
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-003-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-004-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-004-ref.html
new file mode 100644
index 0000000..2201f7d
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-004-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-005-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-005-ref.html
new file mode 100644
index 0000000..9174a09
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-005-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-006-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-006-ref.html
new file mode 100644
index 0000000..35261a8
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-006-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-007-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-007-ref.html
new file mode 100644
index 0000000..8e8163c
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-007-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-008-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-008-ref.html
new file mode 100644
index 0000000..fb2ee58
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-008-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-009-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-009-ref.html
new file mode 100644
index 0000000..005c505
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-009-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx あ<br>あ あ<br>あ xx</div><!--XB/XA, non tailorable-->
+</section>
+<section>
+ <div>xx あ<br>あ あ<br>あ xx</div><!--XB/XA, non tailorable-->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-010-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-010-ref.html
new file mode 100644
index 0000000..5f4c114
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-010-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-011-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-011-ref.html
new file mode 100644
index 0000000..f777074
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-011-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-012-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-012-ref.html
new file mode 100644
index 0000000..6b00177
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-012-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-013-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-013-ref.html
new file mode 100644
index 0000000..6deaef0
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-013-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx あ<br>あ あ<br>あ xx</div><!--XB/XA, non-tailorable-->
+</section>
+<section>
+ <div>xx あ<br>あ あ<br>あ xx</div><!--XB/XA, non-tailorable-->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-014-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-014-ref.html
new file mode 100644
index 0000000..1eed539
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-014-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
diff --git a/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-015-ref.html b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-015-ref.html
new file mode 100644
index 0000000..c60d254
--- /dev/null
+++ b/css/css-text/white-space/reference/trailing-other-space-separators-break-spaces-015-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: pre;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-003.html b/css/css-text/white-space/trailing-other-space-separators-003.html
new file mode 100644
index 0000000..549c731
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-003.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: sequence of spaces and other space separators at the end of line, white-space:pre-line</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-001-ref.html">
+<meta name="assert" content="An sequence of regular spaces and other space separators at the end of the line must be removed, with white-space:pre-line.">
+<style>
+div { font-family: monospace; width: 2ch; white-space: pre-line; }
+span { background: red; } /* If the space hangs instead of being removed, there will be red */
+</style>
+
+<p>Test passes if there are two columns of "x" characters below and no red.
+
+<div>xx<span>                    </span>xx</div>
+<div>xx<span> </span>xx</div>
+<div>xx<span> </span>xx</div>
+<div>xx<span> </span>xx</div>
+<div>xx<span> </span>xx</div>
+<div>xx<span> </span>xx</div>
+<div>xx<span> </span>xx</div>
+<div>xx<span> </span>xx</div>
+<div>xx<span> </span>xx</div>
+<div>xx<span> </span><wbr>xx</div>
+<div>xx<span> </span>xx</div>
+<div>xx<span> </span>xx</div>
+<div>xx<span> </span>xx</div>
+<div>xx<span> </span><wbr>xx</div>
+<div>xx<span> </span>xx</div>
+<div>xx<span> </span>xx</div>
diff --git a/css/css-text/white-space/trailing-other-space-separators-004.html b/css/css-text/white-space/trailing-other-space-separators-004.html
new file mode 100644
index 0000000..90a568a
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-004.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: sequence of spaces and other space separators at the end of line, white-space:nowrap</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-001-ref.html">
+<meta name="assert" content="An sequence of regular spaces and other space separators at the end of the line must be removed, with white-space:nowrap.">
+<style>
+div { font-family: monospace; width: 2ch; white-space: nowrap; }
+span { background: red; } /* If the space hangs instead of being removed, there will be red */
+</style>
+
+<p>Test passes if there are two columns of "x" characters below and no red.
+
+<div>xx<span>                    </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
+<div>xx<span> </span><br>xx</div>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-001.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-001.html
new file mode 100644
index 0000000..896afe6
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-001.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+1680 at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-001-ref.html">
+<meta name="assert" content="U+1680 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<meta name="flags" content="should">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-002.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-002.html
new file mode 100644
index 0000000..f795b31
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-002.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+2000 at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-002-ref.html">
+<meta name="assert" content="U+2000 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<meta name="flags" content="should">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-003.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-003.html
new file mode 100644
index 0000000..f5e2fd8
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-003.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+2001 at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-003-ref.html">
+<meta name="assert" content="U+2001 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<meta name="flags" content="should">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-004.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-004.html
new file mode 100644
index 0000000..99308eb
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-004.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+2002 at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-004-ref.html">
+<meta name="assert" content="U+2002 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<meta name="flags" content="should">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-005.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-005.html
new file mode 100644
index 0000000..9323e81
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-005.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+2003 at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-005-ref.html">
+<meta name="assert" content="U+2003 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<meta name="flags" content="should">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-006.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-006.html
new file mode 100644
index 0000000..d4c24ad
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-006.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+2004 at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-006-ref.html">
+<meta name="assert" content="U+2004 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<meta name="flags" content="should">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-007.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-007.html
new file mode 100644
index 0000000..e9ebbac
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-007.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+2005 at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-007-ref.html">
+<meta name="assert" content="U+2005 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<meta name="flags" content="should">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-008.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-008.html
new file mode 100644
index 0000000..7d399e2
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-008.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+2006 at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-008-ref.html">
+<meta name="assert" content="U+2006 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<meta name="flags" content="should">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-009.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-009.html
new file mode 100644
index 0000000..3d2d9d9
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-009.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+2007 at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-009-ref.html">
+<meta name="assert" content="U+2007 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx あ<br>あ あ<br>あ xx</div><!--XB/XA, non tailorable-->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-010.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-010.html
new file mode 100644
index 0000000..1d75558
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-010.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+2008 at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-010-ref.html">
+<meta name="assert" content="U+2008 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<meta name="flags" content="should">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-011.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-011.html
new file mode 100644
index 0000000..f0be5d5
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-011.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+2009 at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-011-ref.html">
+<meta name="assert" content="U+2009 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<meta name="flags" content="should">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-012.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-012.html
new file mode 100644
index 0000000..ffb018e
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-012.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+200A at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-012-ref.html">
+<meta name="assert" content="U+200A at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<meta name="flags" content="should">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-013.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-013.html
new file mode 100644
index 0000000..067ad06
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-013.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+200F at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-013-ref.html">
+<meta name="assert" content="U+200F at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx あ<br>あ あ<br>あ xx</div><!--XB/XA, non-tailorable-->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-014.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-014.html
new file mode 100644
index 0000000..36cc5ae
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-014.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+205F at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-014-ref.html">
+<meta name="assert" content="U+205F at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<meta name="flags" content="should">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>
diff --git a/css/css-text/white-space/trailing-other-space-separators-break-spaces-015.html b/css/css-text/white-space/trailing-other-space-separators-break-spaces-015.html
new file mode 100644
index 0000000..cbb7e7c
--- /dev/null
+++ b/css/css-text/white-space/trailing-other-space-separators-break-spaces-015.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: U+3000 at the end of line with white-space:break-spaces</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="match" href="reference/trailing-other-space-separators-break-spaces-015-ref.html">
+<meta name="assert" content="U+3000 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.">
+<meta name="flags" content="should">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ white-space: break-spaces;
+ font-size: 10px;
+ line-height: 1;
+ width: 2em;
+}
+section {
+ font-family: Ahem;
+ float: left;
+ margin: 0 1em;
+ color: blue;
+}
+.ref {
+ color: orange;
+}
+.ref div {
+ white-space: pre;
+}
+</style>
+
+<p>Test passes if the orange and blue parts of this page are identical.
+
+<!--
+ * no line breaking opportunity is after an "x"
+ unless the next character provides one,
+ and none of the other space separators do.
+ * no line breaking opportunity is before an "x"
+ unless the previous character provides one (A).
+ * a line breaking opportunity is expected after "あ",
+ unless suppressed by the next character (XB).
+ * a line breaking opportunity is expected before "あ",
+ unless suppressed by the previous character (XA).
+-->
+<section class=ref>
+ <div>xx <br>ああ<br> あ<br>あ <br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+ <div>xx ああ ああ xx</div>
+</section>