--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -55461,16 +55461,21 @@
{}
]
],
"html/the-xhtml-syntax/parsing-xhtml-documents/.gitkeep": [
[
{}
]
],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm": [
+ [
+ {}
+ ]
+ ],
"html/the-xhtml-syntax/parsing-xhtml-fragments/.gitkeep": [
[
{}
]
],
"html/the-xhtml-syntax/serializing-xhtml-fragments/.gitkeep": [
[
{}
@@ -99380,19 +99385,91 @@
]
],
"html/syntax/serializing-xml-fragments/outerHTML.html": [
[
"/html/syntax/serializing-xml-fragments/outerHTML.html",
{}
]
],
- "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity.htm": [
- [
- "/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity.htm",
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-1.htm": [
+ [
+ "/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-1.htm",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-10.htm": [
+ [
+ "/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-10.htm",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-2.htm": [
+ [
+ "/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-2.htm",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-3.htm": [
+ [
+ "/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-3.htm",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-4.htm": [
+ [
+ "/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-4.htm",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-5.htm": [
+ [
+ "/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-5.htm",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-6.htm": [
+ [
+ "/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-6.htm",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-7.htm": [
+ [
+ "/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-7.htm",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-8.htm": [
+ [
+ "/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-8.htm",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-9.htm": [
+ [
+ "/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-9.htm",
{
"timeout": "long"
}
]
],
"html/webappapis/animation-frames/callback-exception.html": [
[
"/html/webappapis/animation-frames/callback-exception.html",
@@ -184839,19 +184916,59 @@
"html/the-xhtml-syntax/.gitkeep": [
"da39a3ee5e6b4b0d3255bfef95601890afd80709",
"support"
],
"html/the-xhtml-syntax/parsing-xhtml-documents/.gitkeep": [
"da39a3ee5e6b4b0d3255bfef95601890afd80709",
"support"
],
- "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity.htm": [
- "e5777b6b3f4303eb64be9ddb1b23ed64362bc9e1",
- "testharness"
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-1.htm": [
+ "3c58f1659b1e7a06fbc9068a243b8777fb00b730",
+ "testharness"
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-10.htm": [
+ "a57ac305ef379f0ddd61c0bb401278855b87146c",
+ "testharness"
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-2.htm": [
+ "a599308e7803ede1851741a813f4eb4838554a32",
+ "testharness"
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-3.htm": [
+ "2313b85385e2cad99257ca985c005126eb2fc009",
+ "testharness"
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-4.htm": [
+ "af4c7c1bb4b26dcc8c6e8dc53201499f0086de4e",
+ "testharness"
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-5.htm": [
+ "5e4189278e14a78fc78edb7960ff33c69f9fa4bf",
+ "testharness"
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-6.htm": [
+ "0fd5c5703309abab66cf553da9685d8e766f5278",
+ "testharness"
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-7.htm": [
+ "b7a95380287b3c8299f2028d055cb68e1f11fc6e",
+ "testharness"
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-8.htm": [
+ "61c32e514cdc7b3d40f6a7bdb0d4babf19ec562c",
+ "testharness"
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-9.htm": [
+ "c35672e53b9ebe1d778de8ec8ea654390389bea5",
+ "testharness"
+ ],
+ "html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm": [
+ "f675bac0053a5e0b8dffe83cbaf48709537409d7",
+ "support"
],
"html/the-xhtml-syntax/parsing-xhtml-fragments/.gitkeep": [
"da39a3ee5e6b4b0d3255bfef95601890afd80709",
"support"
],
"html/the-xhtml-syntax/serializing-xhtml-fragments/.gitkeep": [
"da39a3ee5e6b4b0d3255bfef95601890afd80709",
"support"
@@ -184944,17 +185061,17 @@
"ace7008a593a32ca016685aaa85bda9b4c4bd8c8",
"testharness"
],
"html/webappapis/idle-callbacks/callback-invoked.html": [
"e7cf5a399d92f1fcb98f6ebb1ed3283d60d2bfe2",
"testharness"
],
"html/webappapis/idle-callbacks/callback-multiple-calls.html": [
- "6375309c43a1e7c9fafdc95f01fcccb4c92f8afc",
+ "af6e6a65fda2486ac8669340988b1d57a178e77a",
"testharness"
],
"html/webappapis/idle-callbacks/callback-removed-frame.html": [
"ff034276659407d2dea91d2b0ed0e5919b875904",
"testharness"
],
"html/webappapis/idle-callbacks/callback-suspended.html": [
"f3f9eeda9e2d47825c77eaf278be6e976a8e1715",
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-1.htm.ini
@@ -0,0 +1,14 @@
+[xhtml-mathml-dtd-entity-1.htm]
+ type: testharness
+ [XHTML1.0 Transitional parsing ⃜]
+ expected: FAIL
+
+ [XHTML1.0 Transitional parsing ̑]
+ expected: FAIL
+
+ [XHTML1.0 Transitional parsing ⃛]
+ expected: FAIL
+
+ [XHTML1.0 Transitional parsing ⃛]
+ expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-2.htm.ini
@@ -0,0 +1,14 @@
+[xhtml-mathml-dtd-entity-2.htm]
+ type: testharness
+ [XHTML1.1 parsing ⃜]
+ expected: FAIL
+
+ [XHTML1.1 parsing ̑]
+ expected: FAIL
+
+ [XHTML1.1 parsing ⃛]
+ expected: FAIL
+
+ [XHTML1.1 parsing ⃛]
+ expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-3.htm.ini
@@ -0,0 +1,14 @@
+[xhtml-mathml-dtd-entity-3.htm]
+ type: testharness
+ [XHTML1.0 Strict parsing ⃜]
+ expected: FAIL
+
+ [XHTML1.0 Strict parsing ̑]
+ expected: FAIL
+
+ [XHTML1.0 Strict parsing ⃛]
+ expected: FAIL
+
+ [XHTML1.0 Strict parsing ⃛]
+ expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-4.htm.ini
@@ -0,0 +1,14 @@
+[xhtml-mathml-dtd-entity-4.htm]
+ type: testharness
+ [XHTML1.0 Frameset parsing ⃜]
+ expected: FAIL
+
+ [XHTML1.0 Frameset parsing ̑]
+ expected: FAIL
+
+ [XHTML1.0 Frameset parsing ⃛]
+ expected: FAIL
+
+ [XHTML1.0 Frameset parsing ⃛]
+ expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-5.htm.ini
@@ -0,0 +1,14 @@
+[xhtml-mathml-dtd-entity-5.htm]
+ type: testharness
+ [XHTML Basic parsing ⃜]
+ expected: FAIL
+
+ [XHTML Basic parsing ̑]
+ expected: FAIL
+
+ [XHTML Basic parsing ⃛]
+ expected: FAIL
+
+ [XHTML Basic parsing ⃛]
+ expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-6.htm.ini
@@ -0,0 +1,14 @@
+[xhtml-mathml-dtd-entity-6.htm]
+ type: testharness
+ [XHTML1.1+MathML parsing ⃜]
+ expected: FAIL
+
+ [XHTML1.1+MathML parsing ̑]
+ expected: FAIL
+
+ [XHTML1.1+MathML parsing ⃛]
+ expected: FAIL
+
+ [XHTML1.1+MathML parsing ⃛]
+ expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-7.htm.ini
@@ -0,0 +1,14 @@
+[xhtml-mathml-dtd-entity-7.htm]
+ type: testharness
+ [XHTML1.1+MathML+SVG parsing ⃜]
+ expected: FAIL
+
+ [XHTML1.1+MathML+SVG parsing ̑]
+ expected: FAIL
+
+ [XHTML1.1+MathML+SVG parsing ⃛]
+ expected: FAIL
+
+ [XHTML1.1+MathML+SVG parsing ⃛]
+ expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-8.htm.ini
@@ -0,0 +1,14 @@
+[xhtml-mathml-dtd-entity-8.htm]
+ type: testharness
+ [MathML parsing ⃜]
+ expected: FAIL
+
+ [MathML parsing ̑]
+ expected: FAIL
+
+ [MathML parsing ⃛]
+ expected: FAIL
+
+ [MathML parsing ⃛]
+ expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-9.htm.ini
@@ -0,0 +1,14 @@
+[xhtml-mathml-dtd-entity-9.htm]
+ type: testharness
+ [XHTML Mobile parsing ⃜]
+ expected: FAIL
+
+ [XHTML Mobile parsing ̑]
+ expected: FAIL
+
+ [XHTML Mobile parsing ⃛]
+ expected: FAIL
+
+ [XHTML Mobile parsing ⃛]
+ expected: FAIL
+
deleted file mode 100644
--- a/testing/web-platform/meta/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity.htm.ini
+++ /dev/null
@@ -1,24 +0,0 @@
-[xhtml-mathml-dtd-entity.htm]
- type: testharness
- disabled:
- if (bits == 32): https://bugzilla.mozilla.org/show_bug.cgi?id=1357844
- expected:
- if not debug and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): TIMEOUT
- if debug and not e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): TIMEOUT
- if not debug and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): TIMEOUT
- if not debug and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): TIMEOUT
- if not debug and not e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): TIMEOUT
- if not debug and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): TIMEOUT
- if debug and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): TIMEOUT
- if debug and not e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): CRASH
- if not debug and not e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): TIMEOUT
- if not debug and not e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): TIMEOUT
- if debug and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): TIMEOUT
- if not debug and not e10s and (os == "win") and (version == "6.2.9200") and (processor == "x86_64") and (bits == 64): TIMEOUT
- if not debug and not e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): TIMEOUT
- if debug and e10s and (os == "win") and (version == "6.2.9200") and (processor == "x86_64") and (bits == 64): TIMEOUT
- if debug and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): TIMEOUT
- if not debug and e10s and (os == "win") and (version == "6.2.9200") and (processor == "x86_64") and (bits == 64): TIMEOUT
- if debug and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): TIMEOUT
- if debug and not e10s and (os == "win") and (version == "6.2.9200") and (processor == "x86_64") and (bits == 64): TIMEOUT
- if debug and not e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): TIMEOUT
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-1.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta name=timeout content=long>
+<title>HTML entities for various XHTML Doctype</title>
+<link rel=help href="http://w3c.github.io/html/xhtml.html#parsing-xhtml-documents">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<iframe id="test" src="xhtml-mathml-dtd-entity-support.htm"></iframe>
+
+<script>
+onload = () => document.getElementById("test").contentWindow.run(
+["application/xhtml+xml", "-//W3C//DTD XHTML 1.0 Transitional//EN", "foo", "XHTML1.0 Transitional"]);
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-10.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta name=timeout content=long>
+<title>HTML entities for various XHTML Doctype</title>
+<link rel=help href="http://w3c.github.io/html/xhtml.html#parsing-xhtml-documents">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<iframe id="test" src="xhtml-mathml-dtd-entity-support.htm"></iframe>
+
+<script>
+onload = () => document.getElementById("test").contentWindow.run(
+["text/html", null, null, "HTML"]);
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-2.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta name=timeout content=long>
+<title>HTML entities for various XHTML Doctype</title>
+<link rel=help href="http://w3c.github.io/html/xhtml.html#parsing-xhtml-documents">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<iframe id="test" src="xhtml-mathml-dtd-entity-support.htm"></iframe>
+
+<script>
+onload = () => document.getElementById("test").contentWindow.run(
+["application/xhtml+xml", "-//W3C//DTD XHTML 1.1//EN", "foo", "XHTML1.1"]);
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-3.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta name=timeout content=long>
+<title>HTML entities for various XHTML Doctype</title>
+<link rel=help href="http://w3c.github.io/html/xhtml.html#parsing-xhtml-documents">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<iframe id="test" src="xhtml-mathml-dtd-entity-support.htm"></iframe>
+
+<script>
+onload = () => document.getElementById("test").contentWindow.run(
+["application/xhtml+xml", "-//W3C//DTD XHTML 1.0 Strict//EN", "foo", "XHTML1.0 Strict"]);
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-4.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta name=timeout content=long>
+<title>HTML entities for various XHTML Doctype</title>
+<link rel=help href="http://w3c.github.io/html/xhtml.html#parsing-xhtml-documents">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<iframe id="test" src="xhtml-mathml-dtd-entity-support.htm"></iframe>
+
+<script>
+onload = () => document.getElementById("test").contentWindow.run(
+["application/xhtml+xml", "-//W3C//DTD XHTML 1.0 Frameset//EN", "foo", "XHTML1.0 Frameset"]);
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-5.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta name=timeout content=long>
+<title>HTML entities for various XHTML Doctype</title>
+<link rel=help href="http://w3c.github.io/html/xhtml.html#parsing-xhtml-documents">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<iframe id="test" src="xhtml-mathml-dtd-entity-support.htm"></iframe>
+
+<script>
+onload = () => document.getElementById("test").contentWindow.run(
+["application/xhtml+xml", "-//W3C//DTD XHTML Basic 1.0//EN", "foo", "XHTML Basic"]);
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-6.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta name=timeout content=long>
+<title>HTML entities for various XHTML Doctype</title>
+<link rel=help href="http://w3c.github.io/html/xhtml.html#parsing-xhtml-documents">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<iframe id="test" src="xhtml-mathml-dtd-entity-support.htm"></iframe>
+
+<script>
+onload = () => document.getElementById("test").contentWindow.run(
+["application/xhtml+xml", "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN", "foo", "XHTML1.1+MathML"]);
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-7.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta name=timeout content=long>
+<title>HTML entities for various XHTML Doctype</title>
+<link rel=help href="http://w3c.github.io/html/xhtml.html#parsing-xhtml-documents">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<iframe id="test" src="xhtml-mathml-dtd-entity-support.htm"></iframe>
+
+<script>
+onload = () => document.getElementById("test").contentWindow.run(
+["application/xhtml+xml", "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN", "foo", "XHTML1.1+MathML+SVG"]);
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-8.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta name=timeout content=long>
+<title>HTML entities for various XHTML Doctype</title>
+<link rel=help href="http://w3c.github.io/html/xhtml.html#parsing-xhtml-documents">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<iframe id="test" src="xhtml-mathml-dtd-entity-support.htm"></iframe>
+
+<script>
+onload = () => document.getElementById("test").contentWindow.run(
+["application/xhtml+xml", "-//W3C//DTD MathML 2.0//EN", "foo", "MathML"]);
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-9.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta name=timeout content=long>
+<title>HTML entities for various XHTML Doctype</title>
+<link rel=help href="http://w3c.github.io/html/xhtml.html#parsing-xhtml-documents">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<iframe id="test" src="xhtml-mathml-dtd-entity-support.htm"></iframe>
+
+<script>
+onload = () => document.getElementById("test").contentWindow.run(
+["application/xhtml+xml", "-//WAPFORUM//DTD XHTML Mobile 1.0//EN", "foo", "XHTML Mobile"]);
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<script>
+ var parser = new DOMParser();
+ var parse = parser.parseFromString.bind(parser);
+
+ function generateTestFunction(entitystring, expectedString, publicId, systemId, mimeType, friendlyMime) {
+ return function () {
+ var doctypeString = '<!DOCTYPE html';
+ if (publicId != null)
+ doctypeString += ' PUBLIC "' + publicId + '" "' + systemId + '">';
+ else if (systemId != null)
+ doctypeString += ' SYSTEM "' + systemId + '">';
+ else // both are null
+ doctypeString += '>';
+ var doc = parse(doctypeString + "<html><head></head><body id='test'>"+entitystring+"</body></html>", mimeType);
+ var root = doc.getElementById('test');
+ parent.assert_not_equals(root, null, friendlyMime + " parsing the entity reference caused a parse error;");
+ parent.assert_true(!!root.firstChild);
+ // Next line because some browsers include the partial parsed result in the parser error returned document.
+ parent.assert_equals(root.firstChild.nodeType, 3/*Text*/, friendlyMime + " parsing the entity reference caused a parse error;");
+ var text = root.firstChild.data;
+ for (var i = 0, len = expectedString.length; i < len; i++) {
+ parent.assert_equals(text.charCodeAt(i),expectedString.charCodeAt(i));
+ }
+ }
+ }
+
+ function setupTests(jsonEntities, publicId, systemId, mimeType, friendlyMime) {
+ for (entityName in jsonEntities) {
+ if ((mimeType == "text/html") || /;$/.test(entityName)) {
+ parent.test(generateTestFunction(entityName, jsonEntities[entityName].characters, publicId, systemId, mimeType, friendlyMime), friendlyMime + " parsing " + entityName);
+ }
+ }
+ }
+
+ parent.setup(function() {}, {explicit_done: true});
+
+ function run(row) {
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", "/common/entities.json");
+ xhr.onload = function () {
+ var entitiesJSON = JSON.parse(xhr.response);
+ setupTests(entitiesJSON, row[1], row[2], row[0], row[3]);
+ parent.done();
+ }
+ xhr.send();
+ }
+</script>
deleted file mode 100644
--- a/testing/web-platform/tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>HTML entities for various XHTML Doctype variants</title>
-<link rel=help href="http://w3c.github.io/html/xhtml.html#parsing-xhtml-documents">
-<meta name=timeout content=long>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<div id="log"></div>
-<script>
- var parser = new DOMParser();
- var parse = parser.parseFromString.bind(parser);
-
- function generateTestFunction(entitystring, expectedString, publicId, systemId, mimeType, friendlyMime) {
- return function () {
- var doctypeString = '<!DOCTYPE html';
- if (publicId != null)
- doctypeString += ' PUBLIC "' + publicId + '" "' + systemId + '">';
- else if (systemId != null)
- doctypeString += ' SYSTEM "' + systemId + '">';
- else // both are null
- doctypeString += '>';
- var doc = parse(doctypeString + "<html><head></head><body id='test'>"+entitystring+"</body></html>", mimeType);
- var root = doc.getElementById('test');
- assert_not_equals(root, null, friendlyMime + " parsing the entity reference caused a parse error;");
- assert_true(!!root.firstChild);
- // Next line because some browsers include the partial parsed result in the parser error returned document.
- assert_equals(root.firstChild.nodeType, 3/*Text*/, friendlyMime + " parsing the entity reference caused a parse error;");
- var text = root.firstChild.data;
- for (var i = 0, len = expectedString.length; i < len; i++) {
- assert_equals(text.charCodeAt(i),expectedString.charCodeAt(i));
- }
- }
- }
-
- function setupTests(jsonEntities, publicId, systemId, mimeType, friendlyMime) {
- for (entityName in jsonEntities) {
- if ((mimeType == "text/html") || /;$/.test(entityName)) {
- test(generateTestFunction(entityName, jsonEntities[entityName].characters, publicId, systemId, mimeType, friendlyMime), friendlyMime + " parsing " + entityName);
- }
- }
- }
-
- setup(function() {}, {explicit_done: true});
-
- var xhr = new XMLHttpRequest();
- xhr.open("GET", "/common/entities.json");
- xhr.onload = function () {
- var entitiesJSON = JSON.parse(xhr.response);
- [
- ["application/xhtml+xml", "-//W3C//DTD XHTML 1.0 Transitional//EN", "foo", "XHTML1.0 Transitional"],
- ["application/xhtml+xml", "-//W3C//DTD XHTML 1.1//EN", "foo", "XHTML1.1"],
- ["application/xhtml+xml", "-//W3C//DTD XHTML 1.0 Strict//EN", "foo", "XHTML1.0 Strict"],
- ["application/xhtml+xml", "-//W3C//DTD XHTML 1.0 Frameset//EN", "foo", "XHTML1.0 Frameset"],
- ["application/xhtml+xml", "-//W3C//DTD XHTML Basic 1.0//EN", "foo", "XHTML Basic"],
- ["application/xhtml+xml", "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN", "foo", "XHTML1.1+MathML"],
- ["application/xhtml+xml", "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN", "foo", "XHTML1.1+MathML+SVG"],
- ["application/xhtml+xml", "-//W3C//DTD MathML 2.0//EN", "foo", "MathML"],
- ["application/xhtml+xml", "-//WAPFORUM//DTD XHTML Mobile 1.0//EN", "foo", "XHTML Mobile"],
-// ["application/xhtml+xml", null, "mathml.dtd", "SYSTEM MathML"], // Experimental
- ["text/html", null, null, "HTML"]
- ].forEach(function (row) {
- setupTests(entitiesJSON, row[1], row[2], row[0], row[3]);
- });
- done();
- }
- xhr.send();
-
-</script>