summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/mozilla/tests/mathml
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/mozilla/tests/mathml')
-rw-r--r--testing/web-platform/mozilla/tests/mathml/README.md13
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-001-ref.html (renamed from testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-seudo-units-001-ref.html)0
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-001.html (renamed from testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-seudo-units-001.html)2
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-002-ref.html15
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-002.html19
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-003-ref.html15
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-003.html19
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-004-ref.html15
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-004.html19
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/overbar-width-1-ref.xhtml26
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/overbar-width-1.xhtml27
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-001-ref.html24
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-001.html48
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-002-ref.html24
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-002.html48
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-003-ref.html25
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-003.html50
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-004-ref.html25
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-004.html50
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-005-ref.html12
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-005.html20
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/stretch-equal-sign-with-default-font-ref.html14
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/stretch-equal-sign-with-default-font.html18
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/underbar-width-1-ref.xhtml26
-rw-r--r--testing/web-platform/mozilla/tests/mathml/operator-stretching/underbar-width-1.xhtml27
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-001-ref.html3
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-001.html6
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-002-ref.html3
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-002.html6
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-003-ref.html3
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-003.html6
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-004-ref.html3
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-004.html6
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-005-ref.html3
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-005.html6
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-006-ref.html3
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-006.html6
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-007-ref.html3
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-007.html6
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-008-ref.html3
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-008.html6
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-009-ref.html3
-rw-r--r--testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-009.html6
-rw-r--r--testing/web-platform/mozilla/tests/mathml/scripts/mmultiscripts-empty-scripts-ref.html75
-rw-r--r--testing/web-platform/mozilla/tests/mathml/scripts/mmultiscripts-empty-scripts.html77
-rw-r--r--testing/web-platform/mozilla/tests/mathml/scripts/munderover-empty-scripts-ref.html38
-rw-r--r--testing/web-platform/mozilla/tests/mathml/scripts/munderover-empty-scripts.html38
-rw-r--r--testing/web-platform/mozilla/tests/mathml/scripts/scriptlevel-movablelimits-accent-ref.html28
-rw-r--r--testing/web-platform/mozilla/tests/mathml/scripts/scriptlevel-movablelimits-accent.html38
-rw-r--r--testing/web-platform/mozilla/tests/mathml/scripts/subscript-italic-correction.html62
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1.html50
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1a.html51
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1b.html51
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1c.html51
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1d.html51
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2.html49
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2a.html50
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2b.html50
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2c.html50
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2d.html50
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3.html49
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3a.html50
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3b.html50
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3c.html50
-rw-r--r--testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3d.html50
65 files changed, 1769 insertions, 1 deletions
diff --git a/testing/web-platform/mozilla/tests/mathml/README.md b/testing/web-platform/mozilla/tests/mathml/README.md
index 092dae0251..d579f67987 100644
--- a/testing/web-platform/mozilla/tests/mathml/README.md
+++ b/testing/web-platform/mozilla/tests/mathml/README.md
@@ -46,6 +46,17 @@ any specification:
interpretation is unclear in current version of MathML Core.
See [issue 132](https://github.com/w3c/mathml-core/issues/132).
+- `operator-stretching`: Tests for operator stretching, using Gecko-specific
+ methods that are not part of the current version of MathML Core.
+
+- `rtl`: Tests for RTL MathML, for aspects not completely defined in
+ MathML Core or for which we use things like scale transform for
+ mirroring.
+ See [issue 67](https://github.com/w3c/mathml-core/issues/67).
+
+- `scripts`: Tests for MathML scripted elements, for Gecko features
+ that are not defined in MathML Core or in contradiction with the spec.
+
- `tables`: Tests for
[table features](https://www.w3.org/TR/MathML3/chapter3.html#presm.tabmat)
that are in the initial version of MathML Core.
@@ -55,3 +66,5 @@ any specification:
[whitespace trimming in token elements](https://www.w3.org/TR/MathML3/chapter2.html#fund.collapse)
which is not described in the initial version of MathML Core.
See [issue 149](https://github.com/w3c/mathml-core/issues/149).
+
+- `zoom`: Tests to check MathML rendering at different zoom levels.
diff --git a/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-seudo-units-001-ref.html b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-001-ref.html
index 0b6efcbafc..0b6efcbafc 100644
--- a/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-seudo-units-001-ref.html
+++ b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-001-ref.html
diff --git a/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-seudo-units-001.html b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-001.html
index 80ba835109..5f976e63de 100644
--- a/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-seudo-units-001.html
+++ b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-001.html
@@ -3,7 +3,7 @@
<head>
<title>Test mpadded</title>
<meta name="assert" content="Verify basic rendering of mpadded with pseudo units.">
- <link rel="match" href="mpadded-seudo-units-001-ref.html">
+ <link rel="match" href="mpadded-pseudo-units-001-ref.html">
</head>
<body>
<math>
diff --git a/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-002-ref.html b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-002-ref.html
new file mode 100644
index 0000000000..50f14246ee
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-002-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Test mpadded</title>
+ </head>
+ <body>
+ <math>
+ <mpadded mathbackground="red" height="100height" depth="0">
+ <mphantom>
+ <mtext>&#x1D687;<!-- Mathematical Monospace Capital X --></mtext>
+ </mphantom>
+ </mpadded>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-002.html b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-002.html
new file mode 100644
index 0000000000..62e72310c4
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-002.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Test mpadded</title>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685628">
+ <link rel="match" href="mpadded-pseudo-units-002-ref.html">
+ <meta name="assert" content="height pseudo unit in mpadded@height refers to logical (not ink) metrics.">
+ </head>
+ <body>
+ <math>
+ <!--height in term of height should not depend on the characters-->
+ <mpadded mathbackground="red" height="100height" depth="0">
+ <mphantom>
+ <mtext>&#x1D692;<!-- Mathematical Monospace Small I --></mtext>
+ </mphantom>
+ </mpadded>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-003-ref.html b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-003-ref.html
new file mode 100644
index 0000000000..e01e6498f2
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-003-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Test mpadded</title>
+ </head>
+ <body>
+ <math>
+ <mpadded mathbackground="red" height="100width" depth="0">
+ <mphantom>
+ <mtext>&#x1D687;<!-- Mathematical Monospace Capital X --></mtext>
+ </mphantom>
+ </mpadded>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-003.html b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-003.html
new file mode 100644
index 0000000000..9089c2cd5e
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-003.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Test mpadded</title>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685628">
+ <link rel="match" href="mpadded-pseudo-units-003-ref.html">
+ <meta name="assert" content="width pseudo unit in mpadded@height refers to logical (not ink) metrics.">
+ </head>
+ <body>
+ <math>
+ <!--height in term of width should not depend on the characters-->
+ <mpadded mathbackground="red" height="100width" depth="0">
+ <mphantom>
+ <mtext>&#x1D692;<!-- Mathematical Monospace Small I --></mtext>
+ </mphantom>
+ </mpadded>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-004-ref.html b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-004-ref.html
new file mode 100644
index 0000000000..e2a4943edd
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-004-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Test mpadded</title>
+ </head>
+ <body>
+ <math>
+ <mpadded mathbackground="red" width="100width">
+ <mphantom>
+ <mtext>&#x1D687;<!-- Mathematical Monospace Capital X --></mtext>
+ </mphantom>
+ </mpadded>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-004.html b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-004.html
new file mode 100644
index 0000000000..e2433ef045
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mpadded/mpadded-pseudo-units-004.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Test mpadded</title>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685628">
+ <link rel="match" href="mpadded-pseudo-units-004-ref.html">
+ <meta name="assert" content="pseudo unit specified in mpadded@width does not affect the height/depth">
+ </head>
+ <body>
+ <math>
+ <!--with fixed width, height + depth should not depend on the characters-->
+ <mpadded mathbackground="red" width="100width">
+ <mphantom>
+ <mtext>&#x1D692;<!-- Mathematical Monospace Small I --></mtext>
+ </mphantom>
+ </mpadded>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/overbar-width-1-ref.xhtml b/testing/web-platform/mozilla/tests/mathml/operator-stretching/overbar-width-1-ref.xhtml
new file mode 100644
index 0000000000..64e89f403f
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/overbar-width-1-ref.xhtml
@@ -0,0 +1,26 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <style type="text/css">
+ html { background-color: grey; }
+ div { display: inline-block;
+ font-size: 30px;
+ line-height: 60px; /* Ensure space for overbar */
+ border: 1px solid white;
+ padding: 2px; /* 10% error allowed in char selection */
+ background-color: black;
+ color: red; }
+ </style>
+ </head>
+<body>
+ <div>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mphantom>
+ <mover>
+ <mi>ai</mi>
+ <mo>&#xaf;</mo>
+ </mover>
+ </mphantom>
+ </math>
+ </div>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/overbar-width-1.xhtml b/testing/web-platform/mozilla/tests/mathml/operator-stretching/overbar-width-1.xhtml
new file mode 100644
index 0000000000..317504a007
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/overbar-width-1.xhtml
@@ -0,0 +1,27 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Check width of stretchy OverBar</title>
+ <link rel="match" href="overbar-width-1.xhtml"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=427666"/>
+ <style type="text/css">
+ html { background-color: grey; }
+ div { display: inline-block;
+ font-size: 30px;
+ line-height: 60px; /* Ensure space for overbar */
+ border: 1px solid white;
+ padding: 2px; /* 10% error allowed in char selection */
+ background-color: black;
+ color: black; }
+ </style>
+ </head>
+<body>
+ <div>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mover>
+ <mi>ai</mi>
+ <mo>&#xaf;</mo>
+ </mover>
+ </math>
+ </div>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-001-ref.html b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-001-ref.html
new file mode 100644
index 0000000000..36a2a574f8
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-001-ref.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Maximal size for a vertical arrow stretched by scaling</title>
+ </head>
+ <body>
+ <table style="position: absolute;">
+ <tr>
+ <td><div style="height: 200px; width: 5px; background: black"/></td>
+ <td>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mspace height="50px" depth="50px" width="5px"
+ style="background: yellow" />
+ <mspace height="55px" depth="55px" width="50px"
+ style="background: red;"/>
+ </mrow>
+ </math>
+ </td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-001.html b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-001.html
new file mode 100644
index 0000000000..77b355f404
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-001.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Maximal size for a vertical arrow stretched by scaling</title>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=414277">
+ <link rel="match" href="scale-stretchy-001-ref.html">
+ <meta name="assert" content="Verify maximal height of vertical operator stretched by scaling.">
+ </head>
+ <body>
+ <!-- This assumes that the system fonts do not provide a way to draw a
+ bigger U+290B DOWNWARDS TRIPLE ARROW and that preference
+ `mathml.scale_stretchy_operators` is enabled, so that we exercise
+ stretching of largeop using a scale. This test may still pass if
+ stretching is not performed via a scale though. -->
+ <table style="position: absolute;">
+ <tr>
+ <td><div style="height: 200px; width: 5px; background: black"/></td>
+ <td>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mspace height="50px" depth="50px" width="5px"
+ style="background: yellow" />
+ <mo style="color: blue;">⤋</mo>
+ </mrow>
+ </math>
+ </td>
+ </tr>
+ </table>
+ <!-- The red rect is slightly taller than the target size so it should
+ completely cover the operator. -->
+ <table style="position: absolute;">
+ <tr>
+ <td><div style="height: 200px; width: 5px; background: black"/></td>
+ <td>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mspace height="50px" depth="50px" width="5px"
+ style="background: yellow" />
+ <mspace height="55px" depth="55px" width="50px"
+ style="background: red;"/>
+ </mrow>
+ </math>
+ </td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-002-ref.html b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-002-ref.html
new file mode 100644
index 0000000000..7b0e084364
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-002-ref.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Minimal size for a vertical arrow stretched by scaling</title>
+ </head>
+ <body>
+ <table style="position: absolute;">
+ <tr>
+ <td><div style="height: 200px; width: 5px; background: black"/></td>
+ <td>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mspace height="50px" depth="50px" width="5px"
+ style="background: yellow" />
+ <mspace height="44px" depth="44px" width="50px"
+ style="background: green;"/>
+ </mrow>
+ </math>
+ </td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-002.html b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-002.html
new file mode 100644
index 0000000000..db39cc97cc
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-002.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Minimal size for a vertical arrow stretched by scaling</title>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=414277">
+ <link rel="mismatch" href="scale-stretchy-002-ref.html">
+ <meta name="assert" content="Verify minimal height of vertical operator stretched by scaling.">
+ </head>
+ <body>
+ <!-- This assumes that the system fonts do not provide a way to draw a
+ bigger U+290B DOWNWARDS TRIPLE ARROW and that preference
+ `mathml.scale_stretchy_operators` is enabled, so that we exercise
+ stretching of largeop using a scale. This test may still pass if
+ stretching is not performed via a scale though. -->
+ <table style="position: absolute;">
+ <tr>
+ <td><div style="height: 200px; width: 5px; background: black"/></td>
+ <td>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mspace height="50px" depth="50px" width="5px"
+ style="background: yellow" />
+ <mo style="color: blue;">⤋</mo>
+ </mrow>
+ </math>
+ </td>
+ </tr>
+ </table>
+ <!-- The green rect is slightly shorter than the target size so it should
+ not completely cover the operator. -->
+ <table style="position: absolute;">
+ <tr>
+ <td><div style="height: 200px; width: 5px; background: black"/></td>
+ <td>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mspace height="50px" depth="50px" width="5px"
+ style="background: yellow" />
+ <mspace height="44px" depth="44px" width="50px"
+ style="background: green;"/>
+ </mrow>
+ </math>
+ </td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-003-ref.html b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-003-ref.html
new file mode 100644
index 0000000000..b5935f306a
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-003-ref.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Maximal size for a horizontal arrow stretched by scaling</title>
+ </head>
+ <body>
+ <table style="position: absolute;">
+ <tr align="center">
+ <td><div style="width: 200px; height: 5px; background: black"/></td>
+ </tr>
+ <tr align="center">
+ <td>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <munder accentunder="false">
+ <mspace width="100px" height="5px" style="background: yellow"/>
+ <mspace width="110px" height="25px" depth="25px"
+ style="background: red;"/>
+ </munder>
+ </math>
+ </td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-003.html b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-003.html
new file mode 100644
index 0000000000..7191a329b4
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-003.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Maximal size for a horizontal arrow stretched by scaling</title>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=414277">
+ <link rel="match" href="scale-stretchy-003-ref.html">
+ <meta name="assert" content="Verify maximal height of horizontal operator stretched by scaling.">
+ </head>
+ <body>
+ <!-- This assumes that the system fonts do not provide a way to draw a
+ bigger U+21DB RIGHTWARDS TRIPLE ARROW and that preference
+ `mathml.scale_stretchy_operators` is enabled, so that we exercise
+ stretching of largeop using a scale. This test may still pass if
+ stretching is not performed via a scale though. -->
+ <table style="position: absolute;">
+ <tr align="center">
+ <td><div style="width: 200px; height: 5px; background: black"/></td>
+ </tr>
+ <tr align="center">
+ <td>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <munder accentunder="false">
+ <mspace width="100px" height="5px" style="background: yellow"/>
+ <mo style="color: blue;">⇛</mo>
+ </munder>
+ </math>
+ </td>
+ </tr>
+ </table>
+ <!-- The red rect is slightly wider than the target size so it should
+ completely cover the operator. -->
+ <table style="position: absolute;">
+ <tr align="center">
+ <td><div style="width: 200px; height: 5px; background: black"/></td>
+ </tr>
+ <tr align="center">
+ <td>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <munder accentunder="false">
+ <mspace width="100px" height="5px" style="background: yellow"/>
+ <mspace width="110px" height="25px" depth="25px"
+ style="background: red;"/>
+ </munder>
+ </math>
+ </td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-004-ref.html b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-004-ref.html
new file mode 100644
index 0000000000..ad797c46d1
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-004-ref.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Minimal size for a horizontal arrow stretched by scaling (reference)</title>
+ </head>
+ <body>
+ <table style="position: absolute;">
+ <tr align="center">
+ <td><div style="width: 200px; height: 5px; background: black"/></td>
+ </tr>
+ <tr align="center">
+ <td>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <munder>
+ <mspace width="100px" height="5px" style="background: yellow"/>
+ <mspace width="88px" height="25px" depth="25px"
+ style="background: green;"/>
+ </munder>
+ </math>
+ </td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-004.html b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-004.html
new file mode 100644
index 0000000000..f7d36b36e2
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-004.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Minimal size for a horizontal arrow stretched by scaling</title>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=414277">
+ <link rel="mismatch" href="scale-stretchy-004-ref.html">
+ <meta name="assert" content="Verify minimal width of horizontal operator stretched by scaling.">
+ </head>
+ <body>
+ <!-- This assumes that the system fonts do not provide a way to draw a
+ bigger U+21DB RIGHTWARDS TRIPLE ARROW and that preference
+ `mathml.scale_stretchy_operators` is enabled, so that we exercise
+ stretching of largeop using a scale. This test may still pass if
+ stretching is not performed via a scale though. -->
+ <table style="position: absolute;">
+ <tr align="center">
+ <td><div style="width: 200px; height: 5px; background: black"/></td>
+ </tr>
+ <tr align="center">
+ <td>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <munder>
+ <mspace width="100px" height="5px" style="background: yellow"/>
+ <mo style="color: blue;">⇛</mo>
+ </munder>
+ </math>
+ </td>
+ </tr>
+ </table>
+ <!-- The green rect is slightly narrower than the target size so it should
+ not completely cover the operator. -->
+ <table style="position: absolute;">
+ <tr align="center">
+ <td><div style="width: 200px; height: 5px; background: black"/></td>
+ </tr>
+ <tr align="center">
+ <td>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <munder>
+ <mspace width="100px" height="5px" style="background: yellow"/>
+ <mspace width="88px" height="25px" depth="25px"
+ style="background: green;"/>
+ </munder>
+ </math>
+ </td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-005-ref.html b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-005-ref.html
new file mode 100644
index 0000000000..c1bd50201b
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-005-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Largeop in display mode stretched by scaling (reference)</title>
+ </head>
+ <body>
+ <math display="block">
+ <mo largeop="false">⨌</mo>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-005.html b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-005.html
new file mode 100644
index 0000000000..3f20eed587
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/scale-stretchy-005.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Largeop in display mode stretched by scaling</title>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=414277">
+ <link rel="mismatch" href="scale-stretchy-005-ref.html">
+ <meta name="assert" content="Verify that a displaystyle largeop can be drawn bigger by scaling.">
+ </head>
+ <body>
+ <!-- This assumes that the system fonts do not provide a way to draw a
+ bigger U+2A0C QUADRUPLE INTEGRAL OPERATOR and that preference
+ `mathml.scale_stretchy_operators` is enabled, so that we exercise
+ stretching of largeop using a scale. This test may still pass if
+ stretching is not performed via a scale though. -->
+ <math display="block">
+ <mo largeop="true">⨌</mo>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/stretch-equal-sign-with-default-font-ref.html b/testing/web-platform/mozilla/tests/mathml/operator-stretching/stretch-equal-sign-with-default-font-ref.html
new file mode 100644
index 0000000000..074d0e0415
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/stretch-equal-sign-with-default-font-ref.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Horizontal stretching of equal of U+003D EQUAL SIGN with default font (reference)</title>
+ </head>
+ <body>
+ <math>
+ <munder>
+ <mi>AVERYLONGBASE</mi>
+ <mo stretchy="false">=</mo>
+ </munder>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/stretch-equal-sign-with-default-font.html b/testing/web-platform/mozilla/tests/mathml/operator-stretching/stretch-equal-sign-with-default-font.html
new file mode 100644
index 0000000000..2ddcdbe683
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/stretch-equal-sign-with-default-font.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Horizontal stretching of U+003D EQUAL SIGN with default font</title>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=854339">
+ <link rel="help" href="https://w3c.github.io/mathml-core/#unicode-based-glyph-assemblies">
+ <link rel="mismatch" href="stretch-equal-sign-with-default-font-ref.html">
+ <meta name="assert" content="Verify EQUAL SIGN can be stretched horizontally with default fonts.">
+ </head>
+ <body>
+ <math>
+ <munder>
+ <mi>AVERYLONGBASE</mi>
+ <mo stretchy="true">=</mo>
+ </munder>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/underbar-width-1-ref.xhtml b/testing/web-platform/mozilla/tests/mathml/operator-stretching/underbar-width-1-ref.xhtml
new file mode 100644
index 0000000000..737673ccb1
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/underbar-width-1-ref.xhtml
@@ -0,0 +1,26 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <style type="text/css">
+ html { background-color: grey; }
+ div { display: inline-block;
+ font-size: 30px;
+ line-height: 60px; /* Ensure space for underbar */
+ border: 1px solid white;
+ padding: 2px; /* 10% error allowed in char selection */
+ background-color: black;
+ color: red; }
+ </style>
+ </head>
+<body>
+ <div>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mphantom>
+ <munder>
+ <mn>1</mn>
+ <mo>&#x332;</mo>
+ </munder>
+ </mphantom>
+ </math>
+ </div>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/operator-stretching/underbar-width-1.xhtml b/testing/web-platform/mozilla/tests/mathml/operator-stretching/underbar-width-1.xhtml
new file mode 100644
index 0000000000..d2539d74ec
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/operator-stretching/underbar-width-1.xhtml
@@ -0,0 +1,27 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Check width of stretchy UnderBar</title>
+ <link rel="match" href="underbar-width-1.xhtml"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=428863"/>
+ <style type="text/css">
+ html { background-color: grey; }
+ div { display: inline-block;
+ font-size: 30px;
+ line-height: 60px; /* Ensure space for underbar */
+ border: 1px solid white;
+ padding: 2px; /* 10% error allowed in char selection */
+ background-color: black;
+ color: black; }
+ </style>
+ </head>
+<body>
+ <div>
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <munder>
+ <mn>1</mn>
+ <mo>&#x332;</mo>
+ </munder>
+ </math>
+ </div>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-001-ref.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-001-ref.html
new file mode 100644
index 0000000000..9430d2d7f9
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-001-ref.html
@@ -0,0 +1,3 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<math><mo>(</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-001.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-001.html
new file mode 100644
index 0000000000..38a322f725
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-001.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=208309">
+<link rel="mismatch" href="mirror-op-001-ref.html">
+<meta name="assert" content="fence is mirrored in RTL mode">
+<math dir="rtl"><mo>(</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-002-ref.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-002-ref.html
new file mode 100644
index 0000000000..2273b3a1e5
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-002-ref.html
@@ -0,0 +1,3 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<math><mo>)</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-002.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-002.html
new file mode 100644
index 0000000000..82f0b0d669
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-002.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=208309">
+<link rel="mismatch" href="mirror-op-002-ref.html">
+<meta name="assert" content="fence is mirrored in RTL mode">
+<math dir="rtl"><mo>)</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-003-ref.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-003-ref.html
new file mode 100644
index 0000000000..83522ce6bd
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-003-ref.html
@@ -0,0 +1,3 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<math><mo>[</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-003.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-003.html
new file mode 100644
index 0000000000..773f44a71d
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-003.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=208309">
+<link rel="mismatch" href="mirror-op-003-ref.html">
+<meta name="assert" content="fence is mirrored in RTL mode">
+<math dir="rtl"><mo>[</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-004-ref.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-004-ref.html
new file mode 100644
index 0000000000..1bc501a43e
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-004-ref.html
@@ -0,0 +1,3 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<math><mo>]</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-004.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-004.html
new file mode 100644
index 0000000000..0292d8e976
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-004.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=208309">
+<link rel="mismatch" href="mirror-op-004-ref.html">
+<meta name="assert" content="fence is mirrored in RTL mode">
+<math dir="rtl"><mo>]</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-005-ref.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-005-ref.html
new file mode 100644
index 0000000000..5dec3e3c0a
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-005-ref.html
@@ -0,0 +1,3 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<math><mo>{</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-005.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-005.html
new file mode 100644
index 0000000000..121928e03f
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-005.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=208309">
+<link rel="mismatch" href="mirror-op-005-ref.html">
+<meta name="assert" content="fence is mirrored in RTL mode">
+<math dir="rtl"><mo>{</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-006-ref.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-006-ref.html
new file mode 100644
index 0000000000..765c29e858
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-006-ref.html
@@ -0,0 +1,3 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<math><mo>}</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-006.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-006.html
new file mode 100644
index 0000000000..431e636ba9
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-006.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=208309">
+<link rel="mismatch" href="mirror-op-006-ref.html">
+<meta name="assert" content="fence is mirrored in RTL mode">
+<math dir="rtl"><mo>}</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-007-ref.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-007-ref.html
new file mode 100644
index 0000000000..efe4bf1f89
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-007-ref.html
@@ -0,0 +1,3 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<math><mo>∑</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-007.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-007.html
new file mode 100644
index 0000000000..4266e71a97
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-007.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=208309">
+<link rel="mismatch" href="mirror-op-007-ref.html">
+<meta name="assert" content="sum is mirrored in RTL mode">
+<math dir="rtl"><mo>∑</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-008-ref.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-008-ref.html
new file mode 100644
index 0000000000..813900251d
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-008-ref.html
@@ -0,0 +1,3 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<math><mo>√</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-008.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-008.html
new file mode 100644
index 0000000000..edee9f5f14
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-008.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=208309">
+<link rel="mismatch" href="mirror-op-008-ref.html">
+<meta name="assert" content="square root is mirrored in RTL mode">
+<math dir="rtl"><mo>√</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-009-ref.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-009-ref.html
new file mode 100644
index 0000000000..efc9648228
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-009-ref.html
@@ -0,0 +1,3 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<math><mo>∫</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-009.html b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-009.html
new file mode 100644
index 0000000000..d90e4701a3
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/rtl/mirror-op-009.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=208309">
+<link rel="mismatch" href="mirror-op-009-ref.html">
+<meta name="assert" content="integral is mirrored in RTL mode">
+<math dir="rtl"><mo>∫</mo></math>
diff --git a/testing/web-platform/mozilla/tests/mathml/scripts/mmultiscripts-empty-scripts-ref.html b/testing/web-platform/mozilla/tests/mathml/scripts/mmultiscripts-empty-scripts-ref.html
new file mode 100644
index 0000000000..2b47eb4d1b
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/scripts/mmultiscripts-empty-scripts-ref.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+ <title>Comparison of script elements</title>
+ </head>
+ <body>
+ msubsup:
+ <math>
+ <mmultiscripts style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">bbb</mtext>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">ccc</mtext>
+ </mmultiscripts>
+ </math>
+
+ <br><br>
+
+ msubsup:
+ <math>
+ <mmultiscripts style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">bbb</mtext>
+ <none/>
+ </mmultiscripts>
+ </math>
+
+ <br><br>
+
+ msup / msubsup:
+ <math>
+ <mmultiscripts style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <none/>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">bbb</mtext>
+ </mmultiscripts>
+ </math>
+
+ <math>
+ <mmultiscripts style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <none/>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">bbb</mtext>
+ </mmultiscripts>
+ </math>
+
+ <br><br>
+
+
+ mrow / msub:
+ <math>
+ <mrow style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ </mrow>
+ </math>
+
+ <math>
+ <mrow style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ </mrow>
+ </math>
+
+ <br><br>
+
+ msupsub:
+ <math>
+ <mmultiscripts style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <none />
+ <none />
+ </mmultiscripts>
+ </math>
+
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/scripts/mmultiscripts-empty-scripts.html b/testing/web-platform/mozilla/tests/mathml/scripts/mmultiscripts-empty-scripts.html
new file mode 100644
index 0000000000..31473c2a72
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/scripts/mmultiscripts-empty-scripts.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Comparison of script elements</title>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=669932">
+ <link rel="match" href="mmultiscripts-empty-scripts-ref.html">
+ <meta name="assert" content="Verify elements with empty sub/sup scripts render the same as equivalent elements with less scripts.">
+ </head>
+ <body>
+ msubsup:
+ <math>
+ <msubsup style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">bbb</mtext>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">ccc</mtext>
+ </msubsup>
+ </math>
+
+ <br><br>
+
+ <!-- Different rules apply to msub, so it won't provide equivalent output -->
+ msubsup:
+ <math>
+ <msubsup style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">bbb</mtext>
+ <mrow></mrow>
+ </msubsup>
+ </math>
+
+ <br><br>
+
+ msup / msubsup:
+ <math>
+ <msup style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">bbb</mtext>
+ </msup>
+ </math>
+
+ <math>
+ <msubsup style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <mrow></mrow>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">bbb</mtext>
+ </msubsup>
+ </math>
+
+ <br><br>
+
+ mrow / msub:
+ <math>
+ <mrow style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ </mrow>
+ </math>
+
+ <math>
+ <msub style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <mrow></mrow>
+ </msub>
+ </math>
+
+ <br><br>
+
+ msupsub:
+ <math>
+ <msubsup style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <mrow></mrow>
+ <mrow></mrow>
+ </msubsup>
+ </math>
+
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/scripts/munderover-empty-scripts-ref.html b/testing/web-platform/mozilla/tests/mathml/scripts/munderover-empty-scripts-ref.html
new file mode 100644
index 0000000000..5e0ba0bac1
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/scripts/munderover-empty-scripts-ref.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Test munderover with empty scripts</title>
+ </head>
+ <body>
+
+ <p>munder / munderover with empty overscript:
+ <math>
+ <munderover style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">bbb</mtext>
+ <mspace></mspace>
+ </munderover>
+ </math>
+ </p>
+
+ <p>mover / munderover with empty underscript:
+ <math>
+ <munderover style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <mspace></mspace>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">bbb</mtext>
+ </munderover>
+ </math>
+ </p>
+
+ <p>mrow / munder with empty scripts:
+ <math>
+ <munderover style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <mspace></mspace>
+ <mspace></mspace>
+ </munderover>
+ </math>
+ </p>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/scripts/munderover-empty-scripts.html b/testing/web-platform/mozilla/tests/mathml/scripts/munderover-empty-scripts.html
new file mode 100644
index 0000000000..671c889211
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/scripts/munderover-empty-scripts.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Test munderover with empty scripts</title>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=669932">
+ <link rel="match" href="munderover-empty-scripts-ref.html">
+ <meta name="assert" content="Verify elements with empty under/over scripts render the same as equivalent elements with less scripts.">
+ </head>
+ <body>
+
+ <p>munder / munderover with empty overscript:
+ <math>
+ <munder style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">bbb</mtext>
+ </munder>
+ </math>
+ </p>
+
+ <p>mover / munderover with empty underscript:
+ <math>
+ <mover style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ <mtext style="background-color: rgba(0, 255, 0, 0.4);">bbb</mtext>
+ </mover>
+ </math>
+ </p>
+
+ <p>mrow / munder with empty scripts:
+ <math>
+ <mrow style="background: red;">
+ <mtext style="background-color: rgba(0, 0, 255, 0.4);">AAA</mtext>
+ </mrow>
+ </math>
+ </p>
+
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/scripts/scriptlevel-movablelimits-accent-ref.html b/testing/web-platform/mozilla/tests/mathml/scripts/scriptlevel-movablelimits-accent-ref.html
new file mode 100644
index 0000000000..20a0f65ec7
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/scripts/scriptlevel-movablelimits-accent-ref.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Test accent/accentunder (reference)</title>
+ </head>
+ <body>
+ <math displaystyle="false">
+ <munderover>
+ <mo>∑</mo>
+ <mi>a</mi>
+ <mi>b</mi>
+ </munderover>
+ </math>
+ <math displaystyle="false">
+ <munder>
+ <mo>∑</mo>
+ <mi>a</mi>
+ </munder>
+ </math>
+ <math displaystyle="false">
+ <mover>
+ <mo>∑</mo>
+ <mi>a</mi>
+ </mover>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/scripts/scriptlevel-movablelimits-accent.html b/testing/web-platform/mozilla/tests/mathml/scripts/scriptlevel-movablelimits-accent.html
new file mode 100644
index 0000000000..4da97dadbf
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/scripts/scriptlevel-movablelimits-accent.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Test accent/accentunder</title>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=669713">
+ <link rel="help" href="https://www.w3.org/TR/MathML3/chapter3.html#presm.munder">
+ <link rel="help" href="https://www.w3.org/TR/MathML3/chapter3.html#presm.mover">
+ <link rel="help" href="https://www.w3.org/TR/MathML3/chapter3.html#presm.munderover">
+ <link rel="match" href="scriptlevel-movablelimits-accent-ref.html">
+ <meta name="assert" content="Verify accentunder='true' or accent='true' is ignored when an underover element is laid out as a subsup element.">
+ </head>
+ <body>
+ <!-- Per MathML3, setting accentunder/accent to true prevents scriptlevel
+ from being incremented, however such attributes should be ignored when
+ scripts are drawn as subcript/superscript, which is the case here
+ because U+2211 N-ARY SUMMATION defaults to movablelimits="true". -->
+ <math displaystyle="false">
+ <munderover accentunder="true" accent="true">
+ <mo>∑</mo>
+ <mi>a</mi>
+ <mi>b</mi>
+ </munderover>
+ </math>
+ <math displaystyle="false">
+ <munder accentunder="true">
+ <mo>∑</mo>
+ <mi>a</mi>
+ </munder>
+ </math>
+ <math displaystyle="false">
+ <mover accent="true">
+ <mo>∑</mo>
+ <mi>a</mi>
+ </mover>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/scripts/subscript-italic-correction.html b/testing/web-platform/mozilla/tests/mathml/scripts/subscript-italic-correction.html
new file mode 100644
index 0000000000..2c39d825ff
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/scripts/subscript-italic-correction.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>italic correction for subscripts</title>
+ <meta charset="utf-8"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=945254">
+ <link rel="help" href="https://w3c.github.io/mathml-core/#dfn-italic-correction">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script type="text/javascript">
+ function verifyItalicCorrections()
+ {
+ var epsilon = 2;
+ for (var i = 0; i < 8; i += 2) {
+ var sub = document.getElementById("s" + i);
+ var sup = document.getElementById("s" + (i+1));
+ var italicCorrection =
+ sup.getBoundingClientRect().left - sub.getBoundingClientRect().left;
+ assert_greater_than(italicCorrection, epsilon);
+ }
+ }
+
+ promise_test(() => {
+ return new Promise(resolve => {
+ window.addEventListener("load", resolve);
+ }).then(verifyItalicCorrections);
+ }, "Italic correction of base is used to place subscripts.");
+ </script>
+ <style>
+ math { font-size: 50px; }
+ </style>
+ </head>
+ <body>
+
+ <div>
+ <math>
+ <msubsup>
+ <mi mathbackground="#5f5">f</mi>
+ <mspace id="s0" width="50px" height="50px" mathbackground="blue"/>
+ <mspace id="s1" width="50px" height="50px" mathbackground="blue"/>
+ </msubsup>
+ </math>
+ </div>
+
+ <br/>
+
+ <div>
+ <math>
+ <mmultiscripts>
+ <mi mathbackground="#5f5">f</mi>
+ <mspace id="s2" width="50px" height="50px" mathbackground="blue"/>
+ <mspace id="s3" width="50px" height="50px" mathbackground="blue"/>
+ <mspace id="s4" width="50px" height="50px" mathbackground="blue"/>
+ <mspace id="s5" width="50px" height="50px" mathbackground="blue"/>
+ <mspace id="s6" width="50px" height="50px" mathbackground="blue"/>
+ <mspace id="s7" width="50px" height="50px" mathbackground="blue"/>
+ </mmultiscripts>
+ </math>
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1.html
new file mode 100644
index 0000000000..1882b78275
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1a.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1a.html
new file mode 100644
index 0000000000..9d48a0971f
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1a.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html reftest-zoom=".5">
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <script src="/_mozilla/common/reftest-zoom.js"></script>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1b.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1b.html
new file mode 100644
index 0000000000..d72cb252c7
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1b.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html reftest-zoom=".4">
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <script src="/_mozilla/common/reftest-zoom.js"></script>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1c.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1c.html
new file mode 100644
index 0000000000..d0708973f0
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1c.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html reftest-zoom=".3">
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <script src="/_mozilla/common/reftest-zoom.js"></script>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1d.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1d.html
new file mode 100644
index 0000000000..91004d1acd
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-1d.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html reftest-zoom=".2">
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <script src="/_mozilla/common/reftest-zoom.js"></script>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2.html
new file mode 100644
index 0000000000..2b5df8e97b
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2a.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2a.html
new file mode 100644
index 0000000000..33368521ad
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2a.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html reftest-zoom="0.5">
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <script src="/_mozilla/common/reftest-zoom.js"></script>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2b.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2b.html
new file mode 100644
index 0000000000..b88f094c79
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2b.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html reftest-zoom="0.4">
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <script src="/_mozilla/common/reftest-zoom.js"></script>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2c.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2c.html
new file mode 100644
index 0000000000..b9c83c19a3
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2c.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html reftest-zoom="0.3">
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <script src="/_mozilla/common/reftest-zoom.js"></script>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2d.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2d.html
new file mode 100644
index 0000000000..836f12b4e9
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-2d.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html reftest-zoom="0.2">
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <script src="/_mozilla/common/reftest-zoom.js"></script>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3.html
new file mode 100644
index 0000000000..245a1d6b6b
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3a.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3a.html
new file mode 100644
index 0000000000..30017437e5
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3a.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html reftest-zoom="0.5">
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <script src="/_mozilla/common/reftest-zoom.js"></script>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3b.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3b.html
new file mode 100644
index 0000000000..2f6ac92624
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3b.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html reftest-zoom="0.4">
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <script src="/_mozilla/common/reftest-zoom.js"></script>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3c.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3c.html
new file mode 100644
index 0000000000..5886cfeb63
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3c.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html reftest-zoom="0.3">
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <script src="/_mozilla/common/reftest-zoom.js"></script>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3d.html b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3d.html
new file mode 100644
index 0000000000..2802cb343e
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/zoom/radicalbar-3d.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html reftest-zoom="0.2">
+ <head>
+ <link rel="mismatch" href="about:blank"/>
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1011020"/>
+ <script src="/_mozilla/common/reftest-zoom.js"></script>
+ <!-- Default to invisible text -->
+ <style type="text/css" media="screen, print">
+ .hidden {
+ color: white;
+ }
+ .visible {
+ color: black;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Nest successive radicals and test that the horizontal bar of one of them is drawn.
+ Because the comparison is for inequality with about:blank, at most one can be visible -->
+ <math>
+ <mrow>
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="visible">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="1em" height="1em" />
+ <msqrt class="hidden">
+ <mspace width="20em" height="1em" />
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </msqrt>
+ </mrow>
+ </math>
+
+ <!-- Block out all but the horizontal bar of the visible radical -->
+ <div style="position: absolute; top: 5px; left: 0px;
+ width: 20em; height: 10em; background: white;"></div>
+ </body>
+</html>