diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:33 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:33 +0000 |
commit | 086c044dc34dfc0f74fbe41f4ecb402b2cd34884 (patch) | |
tree | a4f824bd33cb075dd5aa3eb5a0a94af221bbe83a /testing/web-platform/tests/mathml | |
parent | Adding debian version 124.0.1-1. (diff) | |
download | firefox-086c044dc34dfc0f74fbe41f4ecb402b2cd34884.tar.xz firefox-086c044dc34dfc0f74fbe41f4ecb402b2cd34884.zip |
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/mathml')
63 files changed, 2003 insertions, 17 deletions
diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1092053.html b/testing/web-platform/tests/mathml/crashtests/mozilla/1092053.html new file mode 100644 index 0000000000..51b5858b6f --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1092053.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> + <head> + <title>Largeop stretching</title> + <meta charset="utf-8"/> + </head> + <body> + <p> + <!-- ⨂ allows to check for an assertion involving + the direction of the largeop pre-stretch --> + <math displaystyle="true"> + <mrow> + <mo id="mo4">(</mo> + <mo>⨂</mo> + <mo id="mo5">)</mo> + </mrow> + </math> + </p> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1140268-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/1140268-1.html new file mode 100644 index 0000000000..5e5510ba7f --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1140268-1.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<script> +function boom() +{ + var e = document.getElementsByTagName("mo")[0]; + e.setAttribute("style", "position: absolute; top: 0px;"); + document.documentElement.offsetHeight; + e.setAttribute("style", "position: absolute; top: 100px;"); +} +</script> +</head> +<body onload="boom();"> +<math><mo>boom!</mo></math> +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1397439-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/1397439-1.html new file mode 100644 index 0000000000..b617f8e0ed --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1397439-1.html @@ -0,0 +1,6 @@ +<!DOCTYPE html> +<math> +<mstyle scriptlevel=101> +<mstyle scriptlevel=-204> +</math> + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1403465.html b/testing/web-platform/tests/mathml/crashtests/mozilla/1403465.html new file mode 100644 index 0000000000..924392757b --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1403465.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> +<body> + <math class="hidden"> + <mi>x</mi> + <mo>=</mo> + </math> +<script> +window.onload = function() { + let s = document.createElement("style"); + s.textContent = ` + body { + line-height: 1.42857143; + } + + .hidden { + display: none; + } + `; + document.body.appendChild(s); +}; +</script> +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1435015.html b/testing/web-platform/tests/mathml/crashtests/mozilla/1435015.html new file mode 100644 index 0000000000..329aaca22f --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1435015.html @@ -0,0 +1,9 @@ +<!doctype html> +<style> + div { display: contents; } +</style> +<math></math> +<script> + let div = document.createElementNS('http://www.w3.org/1998/Math/MathML', 'div'); + document.querySelector('math').appendChild(div); +</script> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1555757-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/1555757-1.html new file mode 100644 index 0000000000..04f2b27a60 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1555757-1.html @@ -0,0 +1,16 @@ +<html> +<head> + <style> + .class_1 { + transition-delay: 2129ms; + contain: strict; + } + </style> +</head> +<math> + <mover> + <ms></ms> + <mtable class="class_1"></mtable> + </mover> +</math> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1555757-2.html b/testing/web-platform/tests/mathml/crashtests/mozilla/1555757-2.html new file mode 100644 index 0000000000..eff048784a --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1555757-2.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> +<head> + <style> + #testElem { + border: 1px solid black; + background: yellow; + contain: layout size; + width: 300px; + } + </style> + <script> + function go() { + /* trigger an incremental reflow. + * Note: elem.style is undefined for MathML elements, so we have + * to use setAttribute(). + */ + testElem.setAttribute("style", "width:150px"); + } + </script> +</head> +<body onload="go()"> + <math> + <mtable id="testElem">Change my size</mtable> + </math> +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1701975-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/1701975-1.html new file mode 100644 index 0000000000..c7d54ca996 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1701975-1.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<head> + <style> + #id_0 { + font-size: 10000% ! important + } + + * { + border-top-style: groove; + } + </style> + +</head> +<math> + <semantics style='border-inline: 1000000em outset !important'> + <mmultiscripts id='id_0'></mmultiscripts> + </semantics> +</math> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/243159-2.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/243159-2.xhtml new file mode 100644 index 0000000000..ff0326816d --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/243159-2.xhtml @@ -0,0 +1,25 @@ +<html xmlns="http://www.w3.org/1999/xhtml" + xmlns:mathml="http://www.w3.org/1998/Math/MathML"> + <body onload="run()"> + <mathml:math id="test" style="display: block"> + </mathml:math> +<script> + function run() { + var t1 = document.createElementNS("http://www.w3.org/1998/Math/MathML", + "mtable"); + var t2 = document.createElementNS("http://www.w3.org/1998/Math/MathML", + "mtable"); + var r1 = document.createElementNS("http://www.w3.org/1998/Math/MathML", + "mtr"); + var r2 = document.createElementNS("http://www.w3.org/1998/Math/MathML", + "mtr"); + var test = + document.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML", "math")[0]; + t1.appendChild(r1); + test.appendChild(t1); + test.appendChild(t2); + t2.appendChild(r2); + } +</script> +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/306902-1.xml b/testing/web-platform/tests/mathml/crashtests/mozilla/306902-1.xml new file mode 100644 index 0000000000..24e8c068a0 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/306902-1.xml @@ -0,0 +1,14 @@ +<?xml version='1.0'?> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<body> + +<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><msup> + +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + +</msup></math> + +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/347506-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/347506-1.xhtml new file mode 100644 index 0000000000..4119389a56 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/347506-1.xhtml @@ -0,0 +1,23 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> + +<body> + +<div><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> + + <mtable> + <mtr> + <mtd><mi>x</mi></mtd> + <mtd rowspan="4" columnspan="4"><mi>y</mi></mtd> + </mtr> + <mtr> + <mtd rowspan="0" columnspan="0"><mi>z</mi></mtd> + <mtd><mi>w</mi></mtd> + </mtr> + </mtable> + + +</math></div> + +</body> + +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/355993-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/355993-1.xhtml new file mode 100644 index 0000000000..cbbddf013a --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/355993-1.xhtml @@ -0,0 +1,26 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<style> +body, body * { position: fixed; } +</style> +</head> + +<body> + + +<div> + <math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> + + <mtable> + <mtr> + <mtd> + <mn>1</mn> + </mtd> + </mtr> + </mtable> + </math> +</div> + +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/364686-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/364686-1.xhtml new file mode 100644 index 0000000000..add9238d8f --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/364686-1.xhtml @@ -0,0 +1,11 @@ +<html xmlns="http://www.w3.org/1999/xhtml" + xmlns:math="http://www.w3.org/1998/Math/MathML"> + +<body> + +<math:merror> + <img/> +</math:merror> + +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/368461-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/368461-1.xhtml new file mode 100644 index 0000000000..d5baccf523 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/368461-1.xhtml @@ -0,0 +1,11 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:math="http://www.w3.org/1998/Math/MathML"> + +<head> +</head> + +<body> + +<p><math:msubsup><span>Foo bar baz<td></td></span></math:msubsup></p> + +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/370884-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/370884-1.xhtml new file mode 100644 index 0000000000..3959d4b178 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/370884-1.xhtml @@ -0,0 +1,14 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:math="http://www.w3.org/1998/Math/MathML"> +<head> +</head> + +<body> + +<math:mroot> + <div> + <div style="position: fixed;">Y</div> + </div> +</math:mroot> + +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/382208-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/382208-1.xhtml new file mode 100644 index 0000000000..88d2728bfe --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/382208-1.xhtml @@ -0,0 +1,7 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:math="http://www.w3.org/1998/Math/MathML"> +<body> + +<div><math:mfrac><math:mmultiscripts/><math:mi/></math:mfrac></div> + +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/382396-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/382396-1.xhtml new file mode 100644 index 0000000000..89af7ea18d --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/382396-1.xhtml @@ -0,0 +1,7 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:math="http://www.w3.org/1998/Math/MathML"> +<body> + +<p style="text-indent: 0%">a<math:ms/></p> + +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/384649-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/384649-1.xhtml new file mode 100644 index 0000000000..e2ba50cdee --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/384649-1.xhtml @@ -0,0 +1,31 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<style> + +/* use attribute selector instead of the .class shorthand to work around bug 379178 */ + +*[class="fixed"] { position: fixed; } + +math, mtable, mtr { position: inherit; } + +</style> +</head> + +<body> + +<div class="fixed"> + <math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> + <mtable> + <mtr class="fixed"> + <mtd><mi>x</mi></mtd> + </mtr> + <mtr> + <mtd><mi>y</mi></mtd> + </mtr> + </mtable> + </math> +</div> + +</body> + +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/385265-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/385265-1.xhtml new file mode 100644 index 0000000000..7994653ffa --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/385265-1.xhtml @@ -0,0 +1,13 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> +<body> + +<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> + <mtable> + <mtr> + <mtd><mi>x</mi></mtd> + </mtr> + </mtable> +</math> + +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/385289-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/385289-1.xhtml new file mode 100644 index 0000000000..8f0e871aaf --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/385289-1.xhtml @@ -0,0 +1,30 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<script> +function boom() +{ + var mss = document.getElementById("mss"); + + var j = document.createTextNode("j"); + var comb = document.createTextNode("\u0302"); + + mss.appendChild(j); + mss.appendChild(comb); +} +</script> +</head> + +<body onload="boom()"> + +<div> + <math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> + <msub id="mss"> + <mi>v</mi> + <mn>1</mn> + </msub> + </math> +</div> + +</body> + +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/394150-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/394150-1.xhtml new file mode 100644 index 0000000000..ee54a8dd3b --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/394150-1.xhtml @@ -0,0 +1,27 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:math="http://www.w3.org/1998/Math/MathML"> +<head> +<script> + +function boom() +{ + var ms = document.createElementNS("http://www.w3.org/1998/Math/MathML", "ms"); + var textNode = document.getElementById("emptyset").firstChild; + var mrow = document.getElementById("mrow"); + + ms.appendChild(textNode); // *move* the text node from one place to another! + mrow.appendChild(ms); +} + +</script> +</head> + +<body onload="boom();"> + +<math xmlns="http://www.w3.org/1998/Math/MathML"> +<merror><emptyset id="emptyset"> + <mrow id="mrow"></mrow></emptyset></merror> +</math> + +</body> + +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/395450-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/395450-1.xhtml new file mode 100644 index 0000000000..79510267ba --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/395450-1.xhtml @@ -0,0 +1,28 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:math="http://www.w3.org/1998/Math/MathML"> + +<head> +<style> + +/* + This testcase uses [class~="foo"] instead of .foo to work around bug 276267 + (see bug 379178 comment 78) +*/ + +[class~="abs"] { position: absolute; } +[class~="marg"] { margin: 1em; } +[class="noheight"] { height: 0; } + +</style> +</head> + +<body> + +<math:mrow class="noheight"> + <span class="abs"> + <math:mroot class="abs marg" /> + <span class="abs" /> + </span> +</math:mrow> + +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/399676-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/399676-1.xhtml new file mode 100644 index 0000000000..82b547e5ea --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/399676-1.xhtml @@ -0,0 +1,7 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:math="http://www.w3.org/1998/Math/MathML"> +<head> +</head> +<body> +<math:mtd><span style="float: right;" /></math:mtd> +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/400445-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/400445-1.xhtml new file mode 100644 index 0000000000..9cb71dbbd6 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/400445-1.xhtml @@ -0,0 +1,22 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:math="http://www.w3.org/1998/Math/MathML"> +<head> +<script> + +function boom() +{ + var mtd1 = document.getElementById("mtd1"); + var mtd2 = document.getElementById("mtd2"); + var newSpan = document.createElementNS("http://www.w3.org/1999/xhtml", "span"); + + mtd1.appendChild(newSpan); + mtd1.removeAttribute("columnspan"); + mtd2.setAttribute("columnspan", 0); +} + +</script> +</head> + +<body onload="boom();"> +<math:mtd id="mtd1" columnspan="5" /><math:mtd id="mtd2" /> +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/400904-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/400904-1.xhtml new file mode 100644 index 0000000000..a00f42fd02 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/400904-1.xhtml @@ -0,0 +1,20 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:math="http://www.w3.org/1998/Math/MathML"> +<head> +<script type="text/javascript"> + +function boom() +{ + var MATHML_NS = "http://www.w3.org/1998/Math/MathML"; + var mtd = document.getElementById("mtd"); + var n = document.createElementNS(MATHML_NS, 'mrow'); + mtd.appendChild(n); + mtd.setAttribute('rowspan', 7); +} + +</script> +</head> + +<body onload="boom();"> +<math:mtd id="mtd"></math:mtd><math:mtr><math:mrow></math:mrow></math:mtr> +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/410728-1.xml b/testing/web-platform/tests/mathml/crashtests/mozilla/410728-1.xml new file mode 100644 index 0000000000..deaeb8fc55 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/410728-1.xml @@ -0,0 +1,14 @@ +<?xml version="1.0"?> +<!DOCTYPE html PUBLIC + "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" + "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" +[ + <!ENTITY mathml "http://www.w3.org/1998/Math/MathML"> +]> +<math display="block" xmlns="&mathml;"> + <mi>f ̲</mi> + <mi>-</mi> + <mo>+</mo> + <mo> -</mo> + <mo>̲</mo> +</math> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/411603-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/411603-1.html new file mode 100644 index 0000000000..596565fbc3 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/411603-1.html @@ -0,0 +1,7 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:math="http://www.w3.org/1998/Math/MathML"> +<head> +</head> +<body onload="document.getElementById('ms').setAttribute('scriptminsize', '9em');"> +<math:mstyle id="ms" /><span /> +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/413274-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/413274-1.xhtml new file mode 100644 index 0000000000..19d8fab0fd --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/413274-1.xhtml @@ -0,0 +1,18 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +</head> +<body> + +<math xmlns="http://www.w3.org/1998/Math/MathML"> + <mstyle scriptsizemultiplier="8205" scriptlevel="15"> + <mroot> + <mrow/> + <mrow> + <span xmlns="http://www.w3.org/1999/xhtml"/> + </mrow> + </mroot> + </mstyle> +</math> + +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/418007-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/418007-1.xhtml new file mode 100644 index 0000000000..f07a693444 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/418007-1.xhtml @@ -0,0 +1,24 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> +<head></head> +<body> + +<math xmlns="http://www.w3.org/1998/Math/MathML"> + <ms fontsize="8179em"> + <span xmlns="http://www.w3.org/1999/xhtml"> + <span> + <td> + <mfrac xmlns="http://www.w3.org/1998/Math/MathML"> + <mfrac> + <mrow/> + <mrow/> + </mfrac> + <mrow/> + </mfrac> + </td> + </span> + </span> + </ms> +</math> + +</body> +</html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/467914-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/467914-1.html new file mode 100644 index 0000000000..4f518f09df --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/467914-1.html @@ -0,0 +1,3 @@ +<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mathml="http://www.w3.org/1998/Math/MathML"> +<mathml:munder style="transform: translate(50px);clip-path: url(#h);"/> +</window> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/547843-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/547843-1.xhtml new file mode 100644 index 0000000000..0ad086d90c --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/547843-1.xhtml @@ -0,0 +1 @@ +<html xmlns="http://www.w3.org/1999/xhtml"><body><math xmlns="http://www.w3.org/1998/Math/MathML" style="display: table;"/><div style="position: fixed;"></div></body></html> diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/700031.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/700031.xhtml new file mode 100644 index 0000000000..70f924279e --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/700031.xhtml @@ -0,0 +1,9 @@ +<html xmlns="http://www.w3.org/1999/xhtml"><body> + +<div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div> + +<math xmlns="http://www.w3.org/1998/Math/MathML"><mover>abcdef</mover></math> + +</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div> + +</body></html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mstyle-attributes.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mstyle-attributes.html index 2463c40476..0b14ac5334 100644 --- a/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mstyle-attributes.html +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mstyle-attributes.html @@ -35,11 +35,12 @@ </head> <body> <div id="log"></div> - <!-- Note: mpadded attributes are not tested since MathML3 did not allow to - set them from mstyle. Also, it is not clear whether munderover's - accent/accentunder could be applied from mstyle, given that the former - clashes with mo@accent. Other legacy mstyle attributes not in MathML - Core or without visual effect are not tested. + <!-- Note: In earlier versions of MathML, putting some attributes on the + mstyle element was supposed to produce the same rendering as putting them + on the all descendants (with some exceptions). In MathML Core, relevant + style attributes are implemented as CSS properties and are no longer + specific to the mstyle element. The tests below verify that attributes + on mstyle that are not mapped to CSS have no effect. --> <p class="TestContainer" id="mspace"> <math> @@ -84,12 +85,12 @@ <mn>3</mn> </munder> </mstyle> - <mstyle accent="false"> - <mover> - <mn>4</mn> - <mo>⇀</mo> - </mover> - </mstyle> + <!-- Note: accent was a shared attribute name for mover and mo, so + make mstyle an ancestor of mo but not of mover. --> + <mover> + <mn>4</mn> + <mstyle accent="false"><mo>⇀</mo></mstyle> + </mover> <mstyle stretchy="false" symmetric="false" maxsize="20px"> <mrow> <mo>|</mo> @@ -102,6 +103,15 @@ <mn>4</mn> </mrow> </mstyle> + <mstyle form="prefix"> + <mrow> + <mn>1</mn> + <!-- Infix and prefix forms of − do not have the same lspace/rspace + values in the operator dictionary --> + <mo>−</mo> + <mn>2</mn> + </mrow> + </mstyle> </math> <math displaystyle="true"> <mstyle> @@ -115,12 +125,10 @@ <mn>3</mn> </munder> </mstyle> - <mstyle> - <mover> - <mn>4</mn> - <mo>⇀</mo> - </mover> - </mstyle> + <mover> + <mn>4</mn> + <mstyle><mo>⇀</mo></mstyle> + </mover> <mstyle> <mrow> <mo>|</mo> @@ -133,6 +141,13 @@ <mn>4</mn> </mrow> </mstyle> + <mstyle> + <mrow> + <mn>1</mn> + <mo>−</mo> + <mn>2</mn> + </mrow> + </mstyle> </math> </p> <!-- notation attribute is from MathML3's menclose element --> @@ -160,5 +175,92 @@ </mstyle> </math> </p> + <p class="TestContainer" id="mpadded"> + <math> + <mstyle width="100px" height="50px" depth="50px" + lspace="10px" voffset="15px"> + <mpadded style="background: lightblue"> + <mspace width="10px" height="10px" style="background: black"></mspace> + </mpadded> + </mstyle> + </math> + <math> + <mstyle> + <mpadded style="background: lightblue"> + <mspace width="10px" height="10px" style="background: black"></mspace> + </mpadded> + </mstyle> + </math> + </p> + <p class="TestContainer" id="mover"> + <math> + <mstyle accent="true"> + <mover> + <mn>1</mn> + <mn>2</mn> + </mover> + </mstyle> + </math> + <math> + <mstyle> + <mover> + <mn>1</mn> + <mn>2</mn> + </mover> + </mstyle> + </math> + </p> + <p class="TestContainer" id="munder"> + <math> + <mstyle accentunder="true"> + <munder> + <mn>1</mn> + <mn>2</mn> + </munder> + </mstyle> + </math> + <math> + <mstyle> + <munder> + <mn>1</mn> + <mn>2</mn> + </munder> + </mstyle> + </math> + </p> + <p class="TestContainer" id="munderover"> + <math> + <mstyle accent="true"> + <munderover> + <mn>1</mn> + <mn>2</mn> + <mn>3</mn> + </munderover> + </mstyle> + <mstyle accentunder="true"> + <munderover> + <mn>1</mn> + <mn>2</mn> + <mn>3</mn> + </munderover> + </mstyle> + </math> + <math> + <mstyle> + <munderover> + <mn>1</mn> + <mn>2</mn> + <mn>3</mn> + </munderover> + </mstyle> + <mstyle> + <munderover> + <mn>1</mn> + <mn>2</mn> + <mn>3</mn> + </munderover> + </mstyle> + </math> + </p> </body> </html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-001-ref.html new file mode 100644 index 0000000000..7d99e48c92 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-001-ref.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<meta charset="utf-8"/> +<title><semantics> - mozilla bug 468059 (reference)</title> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> +<style> + math, p { + font: 25px Ahem; + } +</style> +<p> + <math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> + <semantics> + <mstyle displaystyle="true"> + <munderover> + <mo movablelimits="true">pXp</mo> + <mtext>XpXpXp</mtext> + <mtext>XpXpXp</mtext> + </munderover> + </mstyle> + </semantics> + </math> +</p> diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-001.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-001.html new file mode 100644 index 0000000000..63aa9a4da8 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-001.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<meta charset="utf-8"/> +<title><semantics> - mozilla bug 468059</title> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=468059"> +<link rel="help" href="https://w3c.github.io/mathml-core/#semantics-and-presentation"> +<link rel="match" href="semantics-001-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> +<meta name="assert" content="MathML inside a semantics element inherits displaystyle."> +<style> + math, p { + font: 25px Ahem; + } +</style> +<p> + <math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> + <semantics> + <munderover> + <mo movablelimits="true">pXp</mo> + <mtext>XpXpXp</mtext> + <mtext>XpXpXp</mtext> + </munderover> + </semantics> + </math> +</p> diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-002-ref.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-002-ref.html new file mode 100644 index 0000000000..8abdad93de --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-002-ref.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<title>semantics element and legacy rendering rules (reference)</title> +<meta charset="utf-8"/> +<p>Empty semantics: <math><mrow></mrow></math></p> +<p>annotation: <math><mrow><annotation>annotation</annotation></mrow></math></p> +<p>annotation-xml: <math><mrow><annotation-xml encoding="MathML-Presentation"><mtext>annotation-xml</mtext></annotation-xml></mrow></math></p> +<p>presentation MathML (no annotations): <math><mrow><mtext>presentation MathML</mtext></mrow></math></p> +<p>content MathML (no annotations): <math><mrow><csymbol>content MathML</csymbol></mrow></math></p> +<p>presentation MathML ; annotation: <math><mrow><mtext>presentation MathML</mtext></mrow></math></p> +<p>presentation MathML ; annotation-xml: <math><mrow><mtext>presentation MathML</mtext></mrow></math></p> +<p>content MathML ; annotation: <math><mrow><csymbol>content MathML</csymbol></mrow></math></p> +<p>content MathML ; annotation-xml: <math><mrow><csymbol>content MathML</csymbol></mrow></math></p> diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-002.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-002.html new file mode 100644 index 0000000000..62028fb863 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-002.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<title>semantics element and legacy rendering rules</title> +<meta charset="utf-8"/> +<link rel="help" href="https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics"> +<link rel="help" href="https://w3c.github.io/mathml-core/#semantics-and-presentation"> +<link rel="match" href="semantics-002-ref.html"> +<meta name="assert" content="semantics element rendered as an mrow with only the first child displayed and does not rely on legacy rules to choose another child to display instead."> +<p>Empty semantics: <math><semantics></semantics></math></p> +<p>annotation: <math><semantics><annotation>annotation</annotation></semantics></math></p> +<p>annotation-xml: <math><semantics><annotation-xml encoding="MathML-Presentation"><mtext>annotation-xml</mtext></annotation-xml></semantics></math></p> +<p>presentation MathML (no annotations): <math><semantics><mtext>presentation MathML</mtext></semantics></math></p> +<p>content MathML (no annotations): <math><semantics><csymbol>content MathML</csymbol></semantics></math></p> +<p>presentation MathML ; annotation: <math><semantics><mtext>presentation MathML</mtext><annotation>annotation</annotation></semantics></math></p> +<p>presentation MathML ; annotation-xml: <math><semantics><mtext>presentation MathML</mtext><annotation-xml encoding="application/mathml-presentation+xml"><mtext>annotation-xml</mtext></annotation-xml></semantics></math></p> +<p>content MathML ; annotation: <math><semantics><csymbol>content MathML</csymbol><annotation>annotation</annotation></semantics></math></p> +<p>content MathML ; annotation-xml: <math><semantics><csymbol>content MathML</csymbol><annotation-xml encoding="application/mathml-presentation+xml"><mtext>annotation-xml</mtext></annotation-xml></semantics></math></p> diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-003-ref.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-003-ref.html new file mode 100644 index 0000000000..7b6e21a3eb --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-003-ref.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<title>semantics element and legacy rendering rules (reference)</title> +<meta charset="utf-8"/> +<p>annotation 1: <math><mrow><csymbol>Content MathML</csymbol></mrow></math></p> +<p>annotation 2: <math><mrow><csymbol>Content MathML</csymbol></mrow></math></p> +<p>annotation 3: <math><mrow><csymbol>Content MathML</csymbol></mrow></math></p> +<p>annotation-xml 1: <math><mrow><csymbol>Content MathML</csymbol></mrow></math></p> +<p>annotation-xml 2: <math><mrow><csymbol>Content MathML</csymbol></mrow></math></p> +<p>annotation-xml 3: <math><mrow><csymbol>Content MathML</csymbol></mrow></math></p> +<p>annotation-xml 4: <math><mrow><csymbol>Content MathML</csymbol></mrow></math></p> +<p>annotation-xml 5: <math><mrow><csymbol>Content MathML</csymbol></mrow></math></p> +<p>annotation-xml 6: <math><mrow><csymbol>Content MathML</csymbol></mrow></math></p> +<p>annotation-xml 7: <math><mrow><csymbol>Content MathML</csymbol></mrow></math></p> diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-003.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-003.html new file mode 100644 index 0000000000..83572f4c8c --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-003.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<title>semantics element and legacy rendering rules</title> +<meta charset="utf-8"/> +<link rel="help" href="https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics"> +<link rel="help" href="https://w3c.github.io/mathml-core/#semantics-and-presentation"> +<link rel="match" href="semantics-003-ref.html"> +<meta name="assert" content="semantics element rendered as an mrow with only the first child displayed and does not rely on legacy rules to choose another child to display instead."> +<p>annotation 1: <math><semantics><csymbol>Content MathML</csymbol><annotation>annotation</annotation><annotation>error</annotation><annotation-xml encoding="application/mathml-presentation+xml"><mtext>error</mtext></annotation-xml></semantics></math></p> +<p>annotation 2: <math><semantics><csymbol>Content MathML</csymbol><annotation encoding="application/x-tex">\sin x + 5</annotation><annotation>error</annotation><annotation-xml encoding="application/mathml-presentation+xml"><mtext>error</mtext></annotation-xml></semantics></math></p> +<p>annotation 3: <math><semantics><csymbol>Content MathML</csymbol><annotation src="external-resource">error</annotation><annotation>annotation</annotation><annotation-xml encoding="application/mathml-presentation+xml"><mtext>error</mtext></annotation-xml></semantics></math></p> +<p>annotation-xml 1: <math><semantics><csymbol>Content MathML</csymbol><annotation-xml encoding="application/mathml-presentation+xml"><mtext>application/mathml-presentation+xml</mtext></annotation-xml><annotation-xml encoding="application/mathml-presentation+xml"><mtext>error</mtext></annotation-xml><annotation>error</annotation></semantics></math></p> +<p>annotation-xml 2: <math><semantics><csymbol>Content MathML</csymbol><annotation-xml encoding="MathML-Presentation"><mtext>MathML-Presentation</mtext></annotation-xml><annotation-xml encoding="application/mathml-presentation+xml"><mtext>error</mtext></annotation-xml><annotation>error</annotation></semantics></math></p> +<p>annotation-xml 3: <math><semantics><csymbol>Content MathML</csymbol><annotation-xml encoding="image/svg+xml"><svg xmlns="http://www.w3.org/2000/svg" height="2em"><text y="1em">image/svg+xml</text></svg></annotation-xml><annotation-xml encoding="application/mathml-presentation+xml"><mtext>error</mtext></annotation-xml><annotation>error</annotation></semantics></math></p> +<p>annotation-xml 4: <math><semantics><csymbol>Content MathML</csymbol><annotation-xml encoding="SVG1.1"><svg xmlns="http://www.w3.org/2000/svg" height="2em"><text y="1em">SVG1.1</text></svg></annotation-xml><annotation-xml encoding="application/mathml-presentation+xml"><mtext>error</mtext></annotation-xml><annotation>error</annotation></semantics></math></p> +<p>annotation-xml 5: <math><semantics><csymbol>Content MathML</csymbol><annotation-xml encoding="application/xhtml+xml"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>application/xhtml+xml</title></head><body><p>application/xhtml+xml</p></body></html></annotation-xml><annotation-xml encoding="application/mathml-presentation+xml"><mtext>error</mtext></annotation-xml><annotation>error</annotation></math></p> +<p>annotation-xml 6: <math><semantics><csymbol>Content MathML</csymbol><annotation-xml encoding="text/html"><html><head><title>text/html</title></head><body><p>text/html</p></body></html></annotation-xml><annotation-xml encoding="application/mathml-presentation+xml"><mtext>error</mtext></annotation-xml><annotation>error</annotation></semantics></math></p> +<p>annotation-xml 7: <math><semantics><csymbol>Content MathML</csymbol><annotation-xml encoding="unknown"><mtext>error</mtext></annotation-xml><annotation-xml encoding="application/mathml-presentation+xml"><mtext>annotation-xml</mtext></annotation-xml><annotation>error</annotation></semantics></math></p> diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-004-ref.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-004-ref.html new file mode 100644 index 0000000000..855d887bbc --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-004-ref.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<meta charset="utf-8"/> +<title><semantics> - mozilla bug 512418 (reference)</title> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> +<style> + math, p { + font: 25px Ahem; + } +</style> +<p> + XpXpXp<math xmlns="http://www.w3.org/1998/Math/MathML"> + <mrow> + <mrow> + <mo>lcm</mo> + <mo>(</mo> + <mn>a</mn> + <mo>,</mo> + <mn>b</mn> + <mo>)</mo> + </mrow> + <mo>=</mo> + <mfrac> + <mrow> + <mo>(</mo> + <mn>a</mn> + <mo>⁢</mo> + <mn>b</mn> + <mo>)</mo> + </mrow> + <mrow> + <mo>gcd</mo> + <mo>(</mo> + <mn>a</mn> + <mo>,</mo> + <mn>b</mn> + <mo>)</mo> + </mrow> + </mfrac> + </mrow> + </math>XpXpXp +</p> diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-004.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-004.html new file mode 100644 index 0000000000..17f0f1ecd0 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-004.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<meta charset="utf-8"/> +<title><semantics> - mozilla bug 512418</title> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=512418"> +<link rel="help" href="https://w3c.github.io/mathml-core/#semantics-and-presentation"> +<link rel="match" href="semantics-004-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> +<meta name="assert" content="The semantics element shouldn't add space around it."> +<style> + math, p { + font: 25px Ahem; + } +</style> +<p> + XpXpXp<math xmlns="http://www.w3.org/1998/Math/MathML"> + <semantics> + <mrow> + <mrow> + <mo>lcm</mo> + <mo>(</mo> + <mn>a</mn> + <mo>,</mo> + <mn>b</mn> + <mo>)</mo> + </mrow> + <mo>=</mo> + <mfrac> + <mrow> + <mo>(</mo> + <mn>a</mn> + <mo>⁢</mo> + <mn>b</mn> + <mo>)</mo> + </mrow> + <mrow> + <mo>gcd</mo> + <mo>(</mo> + <mn>a</mn> + <mo>,</mo> + <mn>b</mn> + <mo>)</mo> + </mrow> + </mfrac> + </mrow> + </semantics> + </math>XpXpXp +</p> diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-005-ref.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-005-ref.html new file mode 100644 index 0000000000..cf722603e1 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-005-ref.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<title><semantics> - mozilla bug 21479 (reference)</title> +<meta charset="utf-8"/> +<p> + <math xmlns="http://www.w3.org/1998/Math/MathML"> + <mover> + <mspace width="300px" height="10px" mathbackground="black"></mspace> + <mo>¯</mo> + </mover> + </math> +</p> diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-005.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-005.html new file mode 100644 index 0000000000..e4fe611c47 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/semantics-005.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<title><semantics> - mozilla bug 21479</title> +<meta charset="utf-8"/> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=21479"> +<link rel="help" href="https://w3c.github.io/mathml-core/#semantics-and-presentation"> +<link rel="match" href="semantics-005-ref.html"> +<meta name="assert" content="The embellished operator made of a single mo inside a semantics element is treated the same as the mo alone."> +<p> + <math xmlns="http://www.w3.org/1998/Math/MathML"> + <mover> + <mspace width="300px" height="10px" mathbackground="black"></mspace> + <semantics><mo>¯</mo></semantics> + </mover> + </math> +</p> diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-1.html b/testing/web-platform/tests/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-1.html new file mode 100644 index 0000000000..9f37cddc39 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-1.html @@ -0,0 +1,64 @@ +<!DOCTYPE html> +<html> + <head> + <title>Stretchy/Largeop with default fonts</title> + <meta charset="utf-8"/> + <link rel="help" href="https://www.w3.org/TR/mathml-core/#layout-of-operators"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1092053"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script type="text/javascript"> + function heightOf(aElement) { + return document.getElementById(aElement).getBoundingClientRect().height; + } + promise_test(() => { + return new Promise(resolve => { + window.addEventListener("load", resolve); + }).then(() => { + assert_greater_than(heightOf("mo0"), heightOf("mo0a")); + assert_greater_than(heightOf("mo1"), heightOf("mo1a")); + assert_greater_than(heightOf("mo2"), heightOf("mo2a")); + assert_greater_than(heightOf("mo3"), heightOf("mo3a")); + }); + }, "The size of displaystyle largeops is taken into account when stretching fences."); + </script> + </head> + <body> + <p> + <math displaystyle="true"> + <mrow> + <mo id="mo0">(</mo> + <mo>∫</mo> + <mo id="mo1">)</mo> + <mrow> + </math> + </p> + <p> + <math> + <mrow> + <mo id="mo0a">(</mo> + <mo>∫</mo> + <mo id="mo1a">)</mo> + <mrow> + </math> + </p> + <p> + <math displaystyle="true"> + <mrow> + <mo id="mo2">(</mo> + <mo>∏</mo> + <mo id="mo3">)</mo> + <mrow> + </math> + </p> + <p> + <math> + <mrow> + <mo id="mo2a">(</mo> + <mo>∏</mo> + <mo id="mo3a">)</mo> + <mrow> + </math> + </p> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-2.html b/testing/web-platform/tests/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-2.html new file mode 100644 index 0000000000..7c43c80acc --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-2.html @@ -0,0 +1,132 @@ +<!DOCTYPE html> +<html> + <head> + <title>Stretchy/Largeop with default fonts</title> + <meta charset="utf-8"/> + <link rel="help" href="https://www.w3.org/TR/mathml-core/#layout-of-operators"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1092053"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script type="text/javascript"> + function contentOf(aElement) { + return document.getElementById(aElement).textContent; + } + function heightOf(aElement) { + return document.getElementById(aElement).getBoundingClientRect().height; + } + promise_test(() => { + return new Promise(resolve => { + window.addEventListener("load", resolve); + }).then(() => { + const numTests = 10; // zero indexed + for (let i = 0; i < numTests; i++) { + const operatorName = contentOf(`mo${i}`); + assert_greater_than(heightOf(`mo${i}`), heightOf(`moRef${i}`), `size of largeop '${operatorName}'`); + } + }); + }, "Test that non-stretchy largeops are bigger in display mode."); + </script> + </head> + <body> + <p> + <math displaystyle="true"> + <mo id="mo0">⨀</mo> + </math> + </p> + <p> + <math displaystyle="true"> + <mo id="mo1">⨁</mo> + </math> + </p> + <p> + <math displaystyle="true"> + <mo id="mo2">⨃</mo> + </math> + </p> + <p> + <math displaystyle="true"> + <mo id="mo3">⨅</mo> + </math> + </p> + <p> + <math displaystyle="true"> + <mo id="mo4">⨇</mo> + </math> + </p> + <p> + <math displaystyle="true"> + <mo id="mo5">⨈</mo> + </math> + </p> + <p> + <math displaystyle="true"> + <mo id="mo6">⨉</mo> + </math> + </p> + <p> + <math displaystyle="true"> + <mo id="mo7">⨊</mo> + </math> + </p> + <p> + <math displaystyle="true"> + <mo id="mo8">⫼</mo> + </math> + </p> + <p> + <math displaystyle="true"> + <mo id="mo9">⫿</mo> + </math> + </p> + <p> + <math> + <mo id="moRef0">⨀</mo> + </math> + </p> + <p> + <math> + <mo id="moRef1">⨁</mo> + </math> + </p> + <p> + <math> + <mo id="moRef2">⨃</mo> + </math> + </p> + <p> + <math> + <mo id="moRef3">⨅</mo> + </math> + </p> + <p> + <math> + <mo id="moRef4">⨇</mo> + </math> + </p> + <p> + <math> + <mo id="moRef5">⨈</mo> + </math> + </p> + <p> + <math> + <mo id="moRef6">⨉</mo> + </math> + </p> + <p> + <math> + <mo id="moRef7">⨊</mo> + </math> + </p> + <p> + <math> + <mo id="moRef8">⫼</mo> + </math> + </p> + <p> + <math> + <mo id="moRef9">⫿</mo> + </math> + </p> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-3.html b/testing/web-platform/tests/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-3.html new file mode 100644 index 0000000000..d588b9d4e0 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-3.html @@ -0,0 +1,145 @@ +<!DOCTYPE html> +<html> + <head> + <title>Stretchy/Largeop with default fonts</title> + <meta charset="utf-8"/> + <link rel="help" href="https://www.w3.org/TR/mathml-core/#layout-of-operators"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1092053"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script type="text/javascript"> + function contentOf(aElement) { + return document.getElementById(aElement).textContent; + } + promise_test(() => { + return new Promise(resolve => { + window.addEventListener("load", resolve); + }).then(() => { + const numTests = 10; // zero indexed + const epsilon = 2; + for (let i = 0; i < numTests; i++) { + const operatorName = contentOf(`mo${i}`); + const box = document.getElementById(`mo${i}`).getBoundingClientRect(); + const ref = document.getElementById(`moRef${i}`).getBoundingClientRect(); + assert_approx_equals(box.width, ref.width, epsilon, `width of largeop '${operatorName}'`); + assert_approx_equals(box.height, ref.height, epsilon, `height of largeop '${operatorName}'`); + } + }); + }, "Test that non-stretchy largeops do not stretch."); + </script> + </head> + <body> + <p> + <math displaystyle="true"> + <mrow> + <mspace height="3em" /> + <mo id="mo0">⨀</mo> + </mrow> + </math> + </p> + <p> + <math displaystyle="true"> + <mrow> + <mspace height="3em" /> + <mo id="mo1">⨁</mo> + </mrow> + </math> + </p> + <p> + <math displaystyle="true"> + <mrow> + <mspace height="3em" /> + <mo id="mo2">⨃</mo> + </mrow> + </math> + </p> + <p> + <math displaystyle="true"> + <mrow> + <mspace height="3em" /> + <mo id="mo3">⨅</mo> + </mrow> + </math> + </p> + <p> + <math displaystyle="true"> + <mrow> + <mspace height="3em" /> + <mo id="mo4">⨇</mo> + </mrow> + </math> + </p> + <p> + <math displaystyle="true"> + <mrow> + <mspace height="3em" /> + <mo id="mo5">⨈</mo> + </mrow> + </math> + </p> + <p> + <math displaystyle="true"> + <mrow> + <mspace height="3em" /> + <mo id="mo6">⨉</mo> + </mrow> + </math> + </p> + <p> + <math displaystyle="true"> + <mrow> + <mspace height="3em" /> + <mo id="mo7">⨊</mo> + </mrow> + </math> + </p> + <p> + <math displaystyle="true"> + <mrow> + <mspace height="3em" /> + <mo id="mo8">⫼</mo> + </mrow> + </math> + </p> + <p> + <math displaystyle="true"> + <mrow> + <mspace height="3em" /> + <mo id="mo9">⫿</mo> + </mrow> + </math> + </p> + <p> + <math displaystyle="true"> + <mo id="moRef0">⨀</mo> + </math> + <math displaystyle="true"> + <mo id="moRef1">⨁</mo> + </math> + <math displaystyle="true"> + <mo id="moRef2">⨃</mo> + </math> + <math displaystyle="true"> + <mo id="moRef3">⨅</mo> + </math> + <math displaystyle="true"> + <mo id="moRef4">⨇</mo> + </math> + <math displaystyle="true"> + <mo id="moRef5">⨈</mo> + </math> + <math displaystyle="true"> + <mo id="moRef6">⨉</mo> + </math> + <math displaystyle="true"> + <mo id="moRef7">⨊</mo> + </math> + <math displaystyle="true"> + <mo id="moRef8">⫼</mo> + </math> + <math displaystyle="true"> + <mo id="moRef9">⫿</mo> + </math> + </p> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-001-ref.html new file mode 100644 index 0000000000..d814944f53 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-001-ref.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <title>mmultiscript with no scripts (reference)</title> + </head> + <body> + <math> + <mmultiscripts> + <mtext>base</mtext> + <none/> + <none/> + </mmultiscripts> + </math> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-001.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-001.html new file mode 100644 index 0000000000..e55a04e128 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-001.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <title>mmultiscript with no scripts</title> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=208309"> + <link rel="help" href="https://w3c.github.io/mathml-core/#base-with-prescripts-and-postscripts"> + <link rel="match" href="mmultiscript-001-ref.html"> + <meta name="assert" content="mmultiscript with no scripts renders the same as if it had two none post-scripts"> + </head> + <body> + <math> + <mmultiscripts> + <mtext>base</mtext> + </mmultiscripts> + </math> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-002-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-002-ref.html new file mode 100644 index 0000000000..33f12d7cdf --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-002-ref.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <title>mmultiscript with mprescripts (reference)</title> + </head> + <body> + <math> + <mmultiscripts> + <mtext>base</mtext> + <none/> + <none/> + <mprescripts/> + </mmultiscripts> + </math> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-002.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-002.html new file mode 100644 index 0000000000..c5e426008f --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-002.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <title>mmultiscript with mprescripts</title> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=208309"> + <link rel="help" href="https://w3c.github.io/mathml-core/#base-with-prescripts-and-postscripts"> + <link rel="match" href="mmultiscript-002-ref.html"> + <meta name="assert" content="mmultiscript with no scripts and a mprescripts child renders the same as if it had two none pre-scripts"> + </head> + <body> + <math> + <mmultiscripts> + <mtext>base</mtext> + <mprescripts/> + </mmultiscripts> + </math> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-003-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-003-ref.html new file mode 100644 index 0000000000..daac6b3346 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-003-ref.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html> + <head> + <title>alignment of mmultiscript sub/superscripts</title> + </head> + <body> + <math> + <mmultiscripts> + <mspace width="50px" height="50px" mathbackground="red"/> + <mrow> + <mspace width="50px" height="10px" mathbackground="blue"/> + <mspace width="50px" height="10px"/> + </mrow> + <mspace width="100px" height="10px" mathbackground="green"/> + <mprescripts/> + <mrow> + <mspace width="50px" height="10px"/> + <mspace width="50px" height="10px" mathbackground="blue"/> + </mrow> + <mspace width="100px" height="10px" mathbackground="green"/> + </mmultiscripts> + </math> + <br/> + <br/> + <math> + <mmultiscripts> + <mspace width="50px" height="50px" mathbackground="red"/> + <mspace width="100px" height="10px" mathbackground="green"/> + <mrow> + <mspace width="50px" height="10px" mathbackground="blue"/> + <mspace width="50px" height="10px"/> + </mrow> + <mprescripts/> + <mspace width="100px" height="10px" mathbackground="green"/> + <mrow> + <mspace width="50px" height="10px"/> + <mspace width="50px" height="10px" mathbackground="blue"/> + </mrow> + </mmultiscripts> + </math> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-003.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-003.html new file mode 100644 index 0000000000..7de3e98b8a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/mmultiscript-003.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html> + <head> + <title>alignment of mmultiscript sub/superscripts</title> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=928675"> + <link rel="help" href="https://w3c.github.io/mathml-core/#base-with-prescripts-and-postscripts"> + <link rel="match" href="mmultiscript-003-ref.html"> + <meta name="assert" content="In LTR mode, pre-scripts are right-aligned and post-scripts are left-aligned."> + </head> + <body> + <math> + <mmultiscripts> + <mspace width="50px" height="50px" mathbackground="red"/> + <mrow> + <mspace width="50px" height="10px" mathbackground="blue"/> + </mrow> + <mspace width="100px" height="10px" mathbackground="green"/> + <mprescripts/> + <mrow> + <mspace width="50px" height="10px" mathbackground="blue"/> + </mrow> + <mspace width="100px" height="10px" mathbackground="green"/> + </mmultiscripts> + </math> + <br/> + <br/> + <math> + <mmultiscripts> + <mspace width="50px" height="50px" mathbackground="red"/> + <mspace width="100px" height="10px" mathbackground="green"/> + <mrow> + <mspace width="50px" height="10px" mathbackground="blue"/> + </mrow> + <mprescripts/> + <mspace width="100px" height="10px" mathbackground="green"/> + <mrow> + <mspace width="50px" height="10px" mathbackground="blue"/> + </mrow> + </mmultiscripts> + </math> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/munder-mover-align-accent-false-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/munder-mover-align-accent-false-ref.html new file mode 100644 index 0000000000..db72d0c5e2 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/munder-mover-align-accent-false-ref.html @@ -0,0 +1,70 @@ +<!DOCTYPE html> +<html> + <head> + <title>Horizontal alignment of base with munder/mover scripts (accent="false")</title> + </head> + <body> + <table border="1"> + <tr> + <th colspan="2">mover</th> + <th colspan="2">munder</th> + </tr> + <tr> + <td align="center">Over < Base</td> + <td align="center">Over > Base</td> + <td align="center">Under < Base</td> + <td align="center">Under > Base</td> + </tr> + <tr> + <td align="center"> + <math> + <mover> + <mspace height="15px" width="75px" mathbackground="blue"/> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px"/> + </mrow> + </mover> + </math> + </td> + <td align="center"> + <math> + <mover> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="blue"/> + <mspace height="15px" width="25px"/> + </mrow> + <mspace height="15px" width="75px" mathbackground="red"/> + </mover> + </math> + </td> + <td align="center"> + <math> + <munder> + <mspace height="15px" width="75px" mathbackground="blue"/> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px"/> + </mrow> + </munder> + </math> + </td> + <td align="center"> + <math> + <munder> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="blue"/> + <mspace height="15px" width="25px"/> + </mrow> + <mspace height="15px" width="75px" mathbackground="red"/> + </munder> + </math> + </td> + </tr> + </table> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/munder-mover-align-accent-false.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/munder-mover-align-accent-false.html new file mode 100644 index 0000000000..0d4205410a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/munder-mover-align-accent-false.html @@ -0,0 +1,57 @@ +<!DOCTYPE html> +<html> + <head> + <title>Horizontal alignment of base with munder/mover scripts (accent="false")</title> + <link rel="help" href="https://w3c.github.io/mathml-core/#underscripts-and-overscripts-munder-mover-munderover"> + <link rel="match" href="munder-mover-align-accent-false-ref.html"> + <meta name="assert" content="base, underscript and overscript should be horizontally aligned."> + </head> + <body> + <table border="1"> + <tr> + <th colspan="2">mover</th> + <th colspan="2">munder</th> + </tr> + <tr> + <td align="center">Over < Base</td> + <td align="center">Over > Base</td> + <td align="center">Under < Base</td> + <td align="center">Under > Base</td> + </tr> + <tr> + <td align="center"> + <math> + <mover> + <mspace height="15px" width="75px" mathbackground="blue"/> + <mspace height="15px" width="25px" mathbackground="red"/> + </mover> + </math> + </td> + <td align="center"> + <math> + <mover> + <mspace height="15px" width="25px" mathbackground="blue"/> + <mspace height="15px" width="75px" mathbackground="red"/> + </mover> + </math> + </td> + <td align="center"> + <math> + <munder> + <mspace height="15px" width="75px" mathbackground="blue"/> + <mspace height="15px" width="25px" mathbackground="red"/> + </munder> + </math> + </td> + <td align="center"> + <math> + <munder> + <mspace height="15px" width="25px" mathbackground="blue"/> + <mspace height="15px" width="75px" mathbackground="red"/> + </munder> + </math> + </td> + </tr> + </table> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/munder-mover-align-accent-true-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/munder-mover-align-accent-true-ref.html new file mode 100644 index 0000000000..da1033563e --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/munder-mover-align-accent-true-ref.html @@ -0,0 +1,70 @@ +<!DOCTYPE html> +<html> + <head> + <title>Horizontal alignment of base with munder/mover scripts (accent="true")</title> + </head> + <body> + <table border="1"> + <tr> + <th colspan="2">mover</th> + <th colspan="2">munder</th> + </tr> + <tr> + <td align="center">Over < Base</td> + <td align="center">Over > Base</td> + <td align="center">Under < Base</td> + <td align="center">Under > Base</td> + </tr> + <tr> + <td align="center"> + <math> + <mover accent="true"> + <mspace height="15px" width="75px" mathbackground="blue"/> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px"/> + </mrow> + </mover> + </math> + </td> + <td align="center"> + <math> + <mover accent="true"> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="blue"/> + <mspace height="15px" width="25px"/> + </mrow> + <mspace height="15px" width="75px" mathbackground="red"/> + </mover> + </math> + </td> + <td align="center"> + <math> + <munder accentunder="true"> + <mspace height="15px" width="75px" mathbackground="blue"/> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px"/> + </mrow> + </munder> + </math> + </td> + <td align="center"> + <math> + <munder accentunder="true"> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="blue"/> + <mspace height="15px" width="25px"/> + </mrow> + <mspace height="15px" width="75px" mathbackground="red"/> + </munder> + </math> + </td> + </tr> + </table> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/munder-mover-align-accent-true.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/munder-mover-align-accent-true.html new file mode 100644 index 0000000000..aa70d244f3 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/munder-mover-align-accent-true.html @@ -0,0 +1,57 @@ +<!DOCTYPE html> +<html> + <head> + <title>Horizontal alignment of base with munder/mover scripts (accent="true")</title> + <link rel="help" href="https://w3c.github.io/mathml-core/#underscripts-and-overscripts-munder-mover-munderover"> + <link rel="match" href="munder-mover-align-accent-true-ref.html"> + <meta name="assert" content="base, underscript and overscript should be horizontally aligned."> + </head> + <body> + <table border="1"> + <tr> + <th colspan="2">mover</th> + <th colspan="2">munder</th> + </tr> + <tr> + <td align="center">Over < Base</td> + <td align="center">Over > Base</td> + <td align="center">Under < Base</td> + <td align="center">Under > Base</td> + </tr> + <tr> + <td align="center"> + <math> + <mover accent="true"> + <mspace height="15px" width="75px" mathbackground="blue"/> + <mspace height="15px" width="25px" mathbackground="red"/> + </mover> + </math> + </td> + <td align="center"> + <math> + <mover accent="true"> + <mspace height="15px" width="25px" mathbackground="blue"/> + <mspace height="15px" width="75px" mathbackground="red"/> + </mover> + </math> + </td> + <td align="center"> + <math> + <munder accentunder="true"> + <mspace height="15px" width="75px" mathbackground="blue"/> + <mspace height="15px" width="25px" mathbackground="red"/> + </munder> + </math> + </td> + <td align="center"> + <math> + <munder accentunder="true"> + <mspace height="15px" width="25px" mathbackground="blue"/> + <mspace height="15px" width="75px" mathbackground="red"/> + </munder> + </math> + </td> + </tr> + </table> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/munderover-align-accent-false-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/munderover-align-accent-false-ref.html new file mode 100644 index 0000000000..c339149c25 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/munderover-align-accent-false-ref.html @@ -0,0 +1,85 @@ +<!DOCTYPE html> +<html> + <head> + <title>Horizontal alignment of base with munder/mover scripts (accent="false")</title> + </head> + <body> + <table border="1"> + <tr> + <th colspan="6">munderover</th> + </tr> + <tr> + <td align="center">Over < Base < Under</td> + <td align="center">Over > Base > Under</td> + <td align="center">Over = Under < Base</td> + <td align="center">Over = Under > Base</td> + </tr> + <tr> + <td align="center"> + <math> + <munderover accent="false" accentunder="false"> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="50px" mathbackground="blue"/> + <mspace height="15px" width="25px"/> + </mrow> + <mspace height="15px" width="75px" mathbackground="red"/> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px"/> + </mrow> + </munderover> + </math> + </td> + <td align="center"> + <math> + <munderover accent="false" accentunder="false"> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="50px" mathbackground="blue"/> + <mspace height="15px" width="25px"/> + </mrow> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px"/> + </mrow> + <mspace height="15px" width="75px" mathbackground="red"/> + </munderover> + </math> + </td> + <td align="center"> + <math> + <munderover accent="false" accentunder="false"> + <mspace height="15px" width="75px" mathbackground="blue"/> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px"/> + </mrow> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px"/> + </mrow> + </munderover> + </math> + </td> + <td align="center"> + <math> + <munderover accent="false" accentunder="false"> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="blue"/> + <mspace height="15px" width="25px"/> + </mrow> + <mspace height="15px" width="75px" mathbackground="red"/> + <mspace height="15px" width="75px" mathbackground="red"/> + </munderover> + </math> + </td> + </tr> + </table> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/munderover-align-accent-false.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/munderover-align-accent-false.html new file mode 100644 index 0000000000..2c082612a2 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/munderover-align-accent-false.html @@ -0,0 +1,60 @@ +<!DOCTYPE html> +<html> + <head> + <title>Horizontal alignment of base with munder/mover scripts (accent="false")</title> + <link rel="help" href="https://w3c.github.io/mathml-core/#underscripts-and-overscripts-munder-mover-munderover"> + <link rel="match" href="munderover-align-accent-false-ref.html"> + <meta name="assert" content="base, underscript and overscript should be horizontally aligned."> + </head> + <body> + <table border="1"> + <tr> + <th colspan="4">munderover</th> + </tr> + <tr> + <td align="center">Over < Base < Under</td> + <td align="center">Over > Base > Under</td> + <td align="center">Over = Under < Base</td> + <td align="center">Over = Under > Base</td> + </tr> + <tr> + <td align="center"> + <math> + <munderover> + <mspace height="15px" width="50px" mathbackground="blue"/> + <mspace height="15px" width="75px" mathbackground="red"/> + <mspace height="15px" width="25px" mathbackground="red"/> + </munderover> + </math> + </td> + <td align="center"> + <math> + <munderover> + <mspace height="15px" width="50px" mathbackground="blue"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="75px" mathbackground="red"/> + </munderover> + </math> + </td> + <td align="center"> + <math> + <munderover> + <mspace height="15px" width="75px" mathbackground="blue"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px" mathbackground="red"/> + </munderover> + </math> + </td> + <td align="center"> + <math> + <munderover> + <mspace height="15px" width="25px" mathbackground="blue"/> + <mspace height="15px" width="75px" mathbackground="red"/> + <mspace height="15px" width="75px" mathbackground="red"/> + </munderover> + </math> + </td> + </tr> + </table> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/munderover-align-accent-true-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/munderover-align-accent-true-ref.html new file mode 100644 index 0000000000..aababcb17b --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/munderover-align-accent-true-ref.html @@ -0,0 +1,85 @@ +<!DOCTYPE html> +<html> + <head> + <title>Horizontal alignment of base with munder/mover scripts (accent="true")</title> + </head> + <body> + <table border="1"> + <tr> + <th colspan="6">munderover</th> + </tr> + <tr> + <td align="center">Over < Base < Under</td> + <td align="center">Over > Base > Under</td> + <td align="center">Over = Under < Base</td> + <td align="center">Over = Under > Base</td> + </tr> + <tr> + <td align="center"> + <math> + <munderover accent="true" accentunder="true"> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="50px" mathbackground="blue"/> + <mspace height="15px" width="25px"/> + </mrow> + <mspace height="15px" width="75px" mathbackground="red"/> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px"/> + </mrow> + </munderover> + </math> + </td> + <td align="center"> + <math> + <munderover accent="true" accentunder="true"> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="50px" mathbackground="blue"/> + <mspace height="15px" width="25px"/> + </mrow> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px"/> + </mrow> + <mspace height="15px" width="75px" mathbackground="red"/> + </munderover> + </math> + </td> + <td align="center"> + <math> + <munderover accent="true" accentunder="true"> + <mspace height="15px" width="75px" mathbackground="blue"/> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px"/> + </mrow> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px"/> + </mrow> + </munderover> + </math> + </td> + <td align="center"> + <math> + <munderover accent="true" accentunder="true"> + <mrow> + <mspace height="15px" width="25px"/> + <mspace height="15px" width="25px" mathbackground="blue"/> + <mspace height="15px" width="25px"/> + </mrow> + <mspace height="15px" width="75px" mathbackground="red"/> + <mspace height="15px" width="75px" mathbackground="red"/> + </munderover> + </math> + </td> + </tr> + </table> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/munderover-align-accent-true.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/munderover-align-accent-true.html new file mode 100644 index 0000000000..e6578ade52 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/munderover-align-accent-true.html @@ -0,0 +1,60 @@ +<!DOCTYPE html> +<html> + <head> + <title>Horizontal alignment of base with munder/mover scripts (accent="true")</title> + <link rel="help" href="https://w3c.github.io/mathml-core/#underscripts-and-overscripts-munder-mover-munderover"> + <link rel="match" href="munderover-align-accent-true-ref.html"> + <meta name="assert" content="base, underscript and overscript should be horizontally aligned."> + </head> + <body> + <table border="1"> + <tr> + <th colspan="4">munderover</th> + </tr> + <tr> + <td align="center">Over < Base < Under</td> + <td align="center">Over > Base > Under</td> + <td align="center">Over = Under < Base</td> + <td align="center">Over = Under > Base</td> + </tr> + <tr> + <td align="center"> + <math> + <munderover accent="true" accentunder="true"> + <mspace height="15px" width="50px" mathbackground="blue"/> + <mspace height="15px" width="75px" mathbackground="red"/> + <mspace height="15px" width="25px" mathbackground="red"/> + </munderover> + </math> + </td> + <td align="center"> + <math> + <munderover accent="true" accentunder="true"> + <mspace height="15px" width="50px" mathbackground="blue"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="75px" mathbackground="red"/> + </munderover> + </math> + </td> + <td align="center"> + <math> + <munderover accent="true" accentunder="true"> + <mspace height="15px" width="75px" mathbackground="blue"/> + <mspace height="15px" width="25px" mathbackground="red"/> + <mspace height="15px" width="25px" mathbackground="red"/> + </munderover> + </math> + </td> + <td align="center"> + <math> + <munderover accent="true" accentunder="true"> + <mspace height="15px" width="25px" mathbackground="blue"/> + <mspace height="15px" width="75px" mathbackground="red"/> + <mspace height="15px" width="75px" mathbackground="red"/> + </munderover> + </math> + </td> + </tr> + </table> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/tabindex-focus-001.tentative.html b/testing/web-platform/tests/mathml/relations/html5-tree/tabindex-focus-001.tentative.html new file mode 100644 index 0000000000..2ea0390eab --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/tabindex-focus-001.tentative.html @@ -0,0 +1,34 @@ +<!DOCTYPE HTML> +<title>Invalid tabindex</title> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1128054"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<!-- Test default focusability --> +<math></math> +<math href="#" data-focusable=true></math> +<!-- Test tabindex=0 focusability --> +<math tabindex="0" data-focusable=true></math> +<!-- Test tabindex=-1 focusability --> +<math tabindex="-1" data-focusable=true></math> +<!-- Test tabindex=invalid focusability --> +<math tabindex="invalid"></math> +<math href="#" tabindex="invalid" data-focusable=true></math> + +<script> + test(() => { + for (let element of document.querySelectorAll("math")) { + let focusable = element.dataset && element.dataset.focusable; + let desc = "<math"; + for (let attr of ["href", "tabindex"]) { + if (element.hasAttribute(attr)) { + desc += ` ${attr}=${element.getAttribute(attr)}`; + } + } + desc += ">"; + element.focus(); + focusable ? assert_equals(document.activeElement, element, desc + " should be focusable") + : assert_not_equals(document.activeElement, element, desc + " should not be focusable"); + } + }, "invalid tabindex attribute does not make the element focusable"); +</script> diff --git a/testing/web-platform/tests/mathml/relations/text-and-math/mo-glyph-height-with-default-font-ref.html b/testing/web-platform/tests/mathml/relations/text-and-math/mo-glyph-height-with-default-font-ref.html new file mode 100644 index 0000000000..5c295152ba --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/text-and-math/mo-glyph-height-with-default-font-ref.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="UTF-8"> + <title>mo glyph height with default font (reference)</title> + </head> + <body> + <div id="hider" + style="position:absolute; top:0; left:0; background-color:green; + height:1em; width:100%; z-index:1; padding-top:5px; + padding-bottom:5px;" /> + </body> +</html> diff --git a/testing/web-platform/tests/mathml/relations/text-and-math/mo-glyph-height-with-default-font.html b/testing/web-platform/tests/mathml/relations/text-and-math/mo-glyph-height-with-default-font.html new file mode 100644 index 0000000000..262d3b9277 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/text-and-math/mo-glyph-height-with-default-font.html @@ -0,0 +1,52 @@ +<!DOCTYPE html> +<html class="reftest-wait"> + <head> + <meta charset="UTF-8"> + <title>mo glyph height with default font</title> + <meta name="assert" content="Verify operators with default fonts are not too tall."> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1219068"/> + <link rel="match" href="mo-glyph-height-with-default-font-ref.html"/> + </head> + <body> + <math style="position:absolute; top: 0; font-size:1em; z-index: 0;" display="block"> + <mrow> + <mo>|</mo> + <mrow> + <mi>f</mi> + <mrow> + <mn>(</mn> + <mi>x</mi> + <mn>)</mn> + </mrow> + <mn>−</mn> + <mrow> + <mi>f</mi> + <mrow> + <mn>(</mn> + <msub> + <mi>x</mi> + <mn>0</mn> + </msub> + <mn>)</mn> + </mrow> + </mrow> + </mrow> + <mo>|</mo> + </mrow> + </math> + <div id="hider" + style="position:absolute; top:0; left:0; background-color:green; + height:1em; width:100%; z-index:1; padding-top:5px; + padding-bottom:5px; visibility:hidden" /> + <script> + function obscureMathML() { + var hider = document.getElementById("hider"); + hider.style.visibility="visible"; + // The math should now be completely obscured + + document.documentElement.removeAttribute("class"); + } + window.addEventListener("TestRendered", obscureMathML); + </script> + </body> +</html> |