[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&#x1680;<br>ああ<br>&#x1680;あ<br>あ&#x1680;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x1680;<br>ああ<br>&#x1680;あ<br>あ&#x1680;<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&#x2000;<br>ああ<br>&#x2000;あ<br>あ&#x2000;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2000;<br>ああ<br>&#x2000;あ<br>あ&#x2000;<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&#x2001;<br>ああ<br>&#x2001;あ<br>あ&#x2001;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2001;<br>ああ<br>&#x2001;あ<br>あ&#x2001;<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&#x2002;<br>ああ<br>&#x2002;あ<br>あ&#x2002;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2002;<br>ああ<br>&#x2002;あ<br>あ&#x2002;<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&#x2003;<br>ああ<br>&#x2003;あ<br>あ&#x2003;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2003;<br>ああ<br>&#x2003;あ<br>あ&#x2003;<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&#x2004;<br>ああ<br>&#x2004;あ<br>あ&#x2004;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2004;<br>ああ<br>&#x2004;あ<br>あ&#x2004;<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&#x2005;<br>ああ<br>&#x2005;あ<br>あ&#x2005;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2005;<br>ああ<br>&#x2005;あ<br>あ&#x2005;<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&#x2006;<br>ああ<br>&#x2006;あ<br>あ&#x2006;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2006;<br>ああ<br>&#x2006;あ<br>あ&#x2006;<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&#x2007;あ<br>あ&#x2007;あ<br>あ&#x2007;xx</div><!--XB/XA, non tailorable-->
+</section>
+<section>
+  <div>xx&#x2007;あ<br>あ&#x2007;あ<br>あ&#x2007;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&#x2008;<br>ああ<br>&#x2008;あ<br>あ&#x2008;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2008;<br>ああ<br>&#x2008;あ<br>あ&#x2008;<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&#x2009;<br>ああ<br>&#x2009;あ<br>あ&#x2009;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2009;<br>ああ<br>&#x2009;あ<br>あ&#x2009;<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&#x200A;<br>ああ<br>&#x200A;あ<br>あ&#x200A;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x200A;<br>ああ<br>&#x200A;あ<br>あ&#x200A;<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&#x202F;あ<br>あ&#x202F;あ<br>あ&#x202F;xx</div><!--XB/XA, non-tailorable-->
+</section>
+<section>
+  <div>xx&#x202F;あ<br>あ&#x202F;あ<br>あ&#x202F;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&#x205F;<br>ああ<br>&#x205F;あ<br>あ&#x205F;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x205F;<br>ああ<br>&#x205F;あ<br>あ&#x205F;<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&#x3000;<br>ああ<br>&#x3000;あ<br>あ&#x3000;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x3000;<br>ああ<br>&#x3000;あ<br>あ&#x3000;<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>&#x1680;&#x2000; &#x2001;&#x2002;&#x2003; &#x2004;&#x2005;&#x2006; &#x2007;&#x2008;&#x2009;&#x200A;  &#x202F;&#x205F; &#x3000;</span>xx</div>
+<div>xx<span>&#x1680;</span>xx</div>
+<div>xx<span>&#x2000;</span>xx</div>
+<div>xx<span>&#x2001;</span>xx</div>
+<div>xx<span>&#x2002;</span>xx</div>
+<div>xx<span>&#x2003;</span>xx</div>
+<div>xx<span>&#x2004;</span>xx</div>
+<div>xx<span>&#x2005;</span>xx</div>
+<div>xx<span>&#x2006;</span>xx</div>
+<div>xx<span>&#x2007;</span><wbr>xx</div>
+<div>xx<span>&#x2008;</span>xx</div>
+<div>xx<span>&#x2009;</span>xx</div>
+<div>xx<span>&#x200A;</span>xx</div>
+<div>xx<span>&#x202F;</span><wbr>xx</div>
+<div>xx<span>&#x205F;</span>xx</div>
+<div>xx<span>&#x3000;</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>&#x1680;&#x2000; &#x2001;&#x2002;&#x2003; &#x2004;&#x2005;&#x2006; &#x2007;&#x2008;&#x2009;&#x200A;  &#x202F;&#x205F; &#x3000;</span><br>xx</div>
+<div>xx<span>&#x1680;</span><br>xx</div>
+<div>xx<span>&#x2000;</span><br>xx</div>
+<div>xx<span>&#x2001;</span><br>xx</div>
+<div>xx<span>&#x2002;</span><br>xx</div>
+<div>xx<span>&#x2003;</span><br>xx</div>
+<div>xx<span>&#x2004;</span><br>xx</div>
+<div>xx<span>&#x2005;</span><br>xx</div>
+<div>xx<span>&#x2006;</span><br>xx</div>
+<div>xx<span>&#x2007;</span><br>xx</div>
+<div>xx<span>&#x2008;</span><br>xx</div>
+<div>xx<span>&#x2009;</span><br>xx</div>
+<div>xx<span>&#x200A;</span><br>xx</div>
+<div>xx<span>&#x202F;</span><br>xx</div>
+<div>xx<span>&#x205F;</span><br>xx</div>
+<div>xx<span>&#x3000;</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&#x1680;<br>ああ<br>&#x1680;あ<br>あ&#x1680;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x1680;ああ&#x1680;ああ&#x1680;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&#x2000;<br>ああ<br>&#x2000;あ<br>あ&#x2000;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2000;ああ&#x2000;ああ&#x2000;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&#x2001;<br>ああ<br>&#x2001;あ<br>あ&#x2001;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2001;ああ&#x2001;ああ&#x2001;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&#x2002;<br>ああ<br>&#x2002;あ<br>あ&#x2002;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2002;ああ&#x2002;ああ&#x2002;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&#x2003;<br>ああ<br>&#x2003;あ<br>あ&#x2003;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2003;ああ&#x2003;ああ&#x2003;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&#x2004;<br>ああ<br>&#x2004;あ<br>あ&#x2004;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2004;ああ&#x2004;ああ&#x2004;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&#x2005;<br>ああ<br>&#x2005;あ<br>あ&#x2005;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2005;ああ&#x2005;ああ&#x2005;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&#x2006;<br>ああ<br>&#x2006;あ<br>あ&#x2006;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2006;ああ&#x2006;ああ&#x2006;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&#x2007;あ<br>あ&#x2007;あ<br>あ&#x2007;xx</div><!--XB/XA, non tailorable-->
+</section>
+<section>
+  <div>xx&#x2007;ああ&#x2007;ああ&#x2007;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&#x2008;<br>ああ<br>&#x2008;あ<br>あ&#x2008;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2008;ああ&#x2008;ああ&#x2008;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&#x2009;<br>ああ<br>&#x2009;あ<br>あ&#x2009;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x2009;ああ&#x2009;ああ&#x2009;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&#x200A;<br>ああ<br>&#x200A;あ<br>あ&#x200A;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x200A;ああ&#x200A;ああ&#x200A;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&#x202F;あ<br>あ&#x202F;あ<br>あ&#x202F;xx</div><!--XB/XA, non-tailorable-->
+</section>
+<section>
+  <div>xx&#x202F;ああ&#x202F;ああ&#x202F;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&#x205F;<br>ああ<br>&#x205F;あ<br>あ&#x205F;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x205F;ああ&#x205F;ああ&#x205F;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&#x3000;<br>ああ<br>&#x3000;あ<br>あ&#x3000;<br>xx</div><!-- A, tailorable -->
+</section>
+<section>
+  <div>xx&#x3000;ああ&#x3000;ああ&#x3000;xx</div>
+</section>