summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/obsolete/requirements-for-implementations
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/html/obsolete/requirements-for-implementations')
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html52
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html95
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html53
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html53
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html47
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html18
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/nothing.html27
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/original-id.json1
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html57
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/crashtests/marquee-with-calc.html3
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/crashtests/marquee-with-table.html1
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-adopt-to-inactive-document-crash.html9
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-down-manual.html8
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-left-manual.html8
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-right-manual.html8
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-up-manual.html8
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-events-historical.html32
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-loop.html27
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-min-intrinsic-size-ref.html9
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-min-intrinsic-size.html15
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-scrollamount-effect-manual.html9
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-scrollamount.html27
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-scrolldelay.html35
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-start-manual.html23
-rw-r--r--testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-stop-manual.html22
25 files changed, 647 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html
new file mode 100644
index 0000000000..37a92bb09f
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<title>document.all</title>
+<link rel="author" title="Corey Farwell" href="mailto:coreyf@rwell.org">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/obsolete.html#dom-document-all">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+test(function () {
+ assert_false(Boolean(document.all));
+
+ assert_true(document.all == undefined);
+ assert_true(document.all == null);
+ assert_false(document.all != undefined);
+ assert_false(document.all != null);
+
+ assert_true(document.all !== undefined);
+ assert_true(document.all !== null);
+ assert_false(document.all === undefined);
+ assert_false(document.all === null);
+
+ assert_equals(typeof document.all, "undefined");
+
+ if (document.all) { assert_true(false); }
+
+ if (!document.all) {}
+ else { assert_true(false); }
+}, "'unusual behaviors' of document.all")
+
+test(function() {
+ var all = document.all;
+
+ assert_false(Boolean(all));
+
+ assert_true(all == undefined);
+ assert_true(all == null);
+ assert_false(all != undefined);
+ assert_false(all != null);
+
+ assert_true(all !== undefined);
+ assert_true(all !== null);
+ assert_false(all === undefined);
+ assert_false(all === null);
+
+ assert_equals(typeof all, "undefined");
+
+ if (all) { assert_true(false); }
+
+ if (!all) {}
+ else { assert_true(false); }
+}, "'unusual behaviors' of document.all with assignment")
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html
new file mode 100644
index 0000000000..e6f0c2b573
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html
@@ -0,0 +1,95 @@
+<!DOCTYPE html>
+<title>document: fg/bg/link/vlink/alink-color</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-document-fgcolor">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-body-text">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+function setColorAttributes(doc, color) {
+ doc.fgColor = color;
+ doc.bgColor = color;
+ doc.linkColor = color;
+ doc.vlinkColor = color;
+ doc.alinkColor = color;
+}
+
+function checkColorAttributes(doc, expected) {
+ assert_equals(document.fgColor, expected);
+ assert_equals(document.bgColor, expected);
+ assert_equals(document.linkColor, expected);
+ assert_equals(document.vlinkColor, expected);
+ assert_equals(document.alinkColor, expected);
+}
+
+test(function() {
+ setColorAttributes(document, 'green');
+
+ var body = document.documentElement.removeChild(document.body);
+ this.add_cleanup(function() {
+ // Re-add body and reset color attributes.
+ document.body = body;
+ setColorAttributes(document, '');
+ });
+ // When there is no body element, the color attributes return an
+ // empty string upon getting.
+ checkColorAttributes(document, '');
+}, "getting document color attributes with no body");
+
+test(function() {
+ var body = document.documentElement.removeChild(document.body);
+ this.add_cleanup(function() {
+ document.body = body;
+ });
+
+ // When there is no body element, setting the color attributes has no effect.
+ setColorAttributes(document, 'red');
+ checkColorAttributes(document, '');
+}, "setting document color attributes with no body");
+
+function testBogusRootElement(doc) {
+ doc.replaceChild(doc.createElement('test'), doc.documentElement);
+ var new_body = doc.createElement('body');
+ doc.documentElement.appendChild(new_body);
+
+ setColorAttributes(doc, 'red');
+
+ assert_equals(new_body.attributes.length, 0, 'new_body.attributes.length');
+ checkColorAttributes(doc, '');
+}
+
+function createIframeDoc(markup) {
+ var iframe = document.createElement('iframe');
+ document.body.appendChild(iframe);
+ var doc = iframe.contentDocument;
+ doc.open();
+ doc.write(markup);
+ doc.close();
+ return doc;
+}
+
+test(function() {
+ // Use standards mode for doc
+ var doc = createIframeDoc('<!doctype html>');
+ testBogusRootElement(doc);
+}, "document color attributes when the root element is a test element (iframe)");
+
+test(function() {
+ var doc = document.implementation.createHTMLDocument();
+ testBogusRootElement(doc);
+}, "document color attributes when the root element is a test element (createHTMLDocument)");
+
+test(function() {
+ var doc = createIframeDoc('<!doctype html><frameset text=red link=red vlink=red alink=red bgcolor=red>');
+ assert_equals(doc.body.attributes.length, 5, 'attributes.length on the frameset');
+ checkColorAttributes(doc, '');
+}, "getting document color attributes when document.body is a frameset");
+
+test(function() {
+ var doc = createIframeDoc('<!doctype html><frameset>');
+ setColorAttributes(doc, 'red');
+ assert_equals(doc.body.attributes.length, 0, 'attributes.length on the frameset');
+ checkColorAttributes(doc, '');
+}, "setting document color attributes when document.body is a frameset");
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html
new file mode 100644
index 0000000000..ebf15e79cd
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<title>document: fg/bg/link/vlink/alink-color</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-document-fgcolor">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-body-text">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+test(function() {
+ assert_equals(document.fgColor, document.body.text);
+ assert_equals(document.bgColor, document.body.bgColor);
+ assert_equals(document.linkColor, document.body.link);
+ assert_equals(document.vlinkColor, document.body.vLink);
+ assert_equals(document.alinkColor, document.body.aLink);
+})
+test(function() {
+ document.fgColor = null;
+ assert_equals(document.fgColor, "");
+ assert_equals(document.body.text, "");
+ assert_equals(document.body.getAttribute("text"), "");
+})
+test(function() {
+ document.fgColor = "blue";
+ assert_equals(document.fgColor, "blue");
+ assert_equals(document.body.text, "blue");
+ assert_equals(document.body.getAttribute("text"), "blue");
+})
+test(function() {
+ document.bgColor = "green";
+ assert_equals(document.bgColor, "green");
+ assert_equals(document.body.bgColor, "green");
+ assert_equals(document.body.getAttribute("bgcolor"), "green");
+})
+test(function() {
+ document.linkColor = "red";
+ assert_equals(document.linkColor, "red");
+ assert_equals(document.body.link, "red");
+ assert_equals(document.body.getAttribute("link"), "red");
+})
+test(function() {
+ document.vlinkColor = "yellow";
+ assert_equals(document.vlinkColor, "yellow");
+ assert_equals(document.body.vLink, "yellow");
+ assert_equals(document.body.getAttribute("vlink"), "yellow");
+})
+test(function() {
+ document.alinkColor = "silver";
+ assert_equals(document.alinkColor, "silver");
+ assert_equals(document.body.aLink, "silver");
+ assert_equals(document.body.getAttribute("alink"), "silver");
+})
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html
new file mode 100644
index 0000000000..629c24627c
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<title>document: fg/bg/link/vlink/alink-color</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-document-fgcolor">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-body-text">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+test(function() {
+ assert_equals(document.fgColor, document.body.text);
+ assert_equals(document.bgColor, document.body.bgColor);
+ assert_equals(document.linkColor, document.body.link);
+ assert_equals(document.vlinkColor, document.body.vLink);
+ assert_equals(document.alinkColor, document.body.aLink);
+})
+test(function() {
+ document.body.text = null;
+ assert_equals(document.fgColor, "");
+ assert_equals(document.body.text, "");
+ assert_equals(document.body.getAttribute("text"), "");
+})
+test(function() {
+ document.body.text = "blue";
+ assert_equals(document.fgColor, "blue");
+ assert_equals(document.body.text, "blue");
+ assert_equals(document.body.getAttribute("text"), "blue");
+})
+test(function() {
+ document.body.bgColor = "green";
+ assert_equals(document.bgColor, "green");
+ assert_equals(document.body.bgColor, "green");
+ assert_equals(document.body.getAttribute("bgcolor"), "green");
+})
+test(function() {
+ document.body.link = "red";
+ assert_equals(document.linkColor, "red");
+ assert_equals(document.body.link, "red");
+ assert_equals(document.body.getAttribute("link"), "red");
+})
+test(function() {
+ document.body.vLink = "yellow";
+ assert_equals(document.vlinkColor, "yellow");
+ assert_equals(document.body.vLink, "yellow");
+ assert_equals(document.body.getAttribute("vlink"), "yellow");
+})
+test(function() {
+ document.body.aLink = "silver";
+ assert_equals(document.alinkColor, "silver");
+ assert_equals(document.body.aLink, "silver");
+ assert_equals(document.body.getAttribute("alink"), "silver");
+})
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html
new file mode 100644
index 0000000000..ca9fc21d85
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<title>document: fg/bg/link/vlink/alink-color</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-document-fgcolor">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-body-text">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+test(function() {
+ assert_equals(document.fgColor, document.body.text);
+ assert_equals(document.bgColor, document.body.bgColor);
+ assert_equals(document.linkColor, document.body.link);
+ assert_equals(document.vlinkColor, document.body.vLink);
+ assert_equals(document.alinkColor, document.body.aLink);
+})
+test(function() {
+ document.body.setAttribute("text", "blue");
+ assert_equals(document.fgColor, "blue");
+ assert_equals(document.body.text, "blue");
+ assert_equals(document.body.getAttribute("text"), "blue");
+})
+test(function() {
+ document.body.setAttribute("bgcolor", "green");
+ assert_equals(document.bgColor, "green");
+ assert_equals(document.body.bgColor, "green");
+ assert_equals(document.body.getAttribute("bgcolor"), "green");
+})
+test(function() {
+ document.body.setAttribute("link", "red");
+ assert_equals(document.linkColor, "red");
+ assert_equals(document.body.link, "red");
+ assert_equals(document.body.getAttribute("link"), "red");
+})
+test(function() {
+ document.body.setAttribute("vlink", "yellow");
+ assert_equals(document.vlinkColor, "yellow");
+ assert_equals(document.body.vLink, "yellow");
+ assert_equals(document.body.getAttribute("vlink"), "yellow");
+})
+test(function() {
+ document.body.setAttribute("alink", "silver");
+ assert_equals(document.alinkColor, "silver");
+ assert_equals(document.body.aLink, "silver");
+ assert_equals(document.body.getAttribute("alink"), "silver");
+})
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html
new file mode 100644
index 0000000000..8b541f2041
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<title>HTMLHeadingElement: obsolete attribute reflecting</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-hx-align">
+<link rel="help" href="https://webidl.spec.whatwg.org/#es-DOMString">
+<link rel="help" href="http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf#page=57">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+test(function() {
+ var el = document.createElement("h7");
+ el.align = "left";
+ assert_equals(el.align, "left");
+ assert_false(el.hasAttribute("align"));
+ assert_equals(el.getAttribute("align"), null);
+}, "IDL attributes for HTMLHeadingElement should not apply to h7.")
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/nothing.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/nothing.html
new file mode 100644
index 0000000000..039495d78d
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/nothing.html
@@ -0,0 +1,27 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>Methods that must do nothing: clear(), captureEvents(), and releaseEvents()</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<div id=log></div>
+<script>
+test(function() {
+ assert_equals(document.clear(), undefined);
+}, "document.clear");
+
+test(function() {
+ assert_equals(document.captureEvents(), undefined);
+}, "document.captureEvents");
+
+test(function() {
+ assert_equals(document.releaseEvents(), undefined);
+}, "document.releaseEvents");
+
+test(function() {
+ assert_equals(window.captureEvents(), undefined);
+}, "window.captureEvents");
+
+test(function() {
+ assert_equals(window.releaseEvents(), undefined);
+}, "window.releaseEvents");
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/original-id.json b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/original-id.json
new file mode 100644
index 0000000000..601a7c08d1
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/original-id.json
@@ -0,0 +1 @@
+{"original_id":"other-elements,-attributes-and-apis"} \ No newline at end of file
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html
new file mode 100644
index 0000000000..1a8c4a2f85
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<title>event and htmlFor IDL attributes of HTMLScriptElement</title>
+<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-script-event">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-script-htmlfor">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+test(function() {
+ var script = document.createElement("script");
+ assert_equals(script.event, "");
+ assert_equals(script.htmlFor, "");
+})
+test(function() {
+ var script = document.createElement("script");
+ script.setAttribute("event", "blah");
+ script.setAttribute("for", "blah");
+ assert_equals(script.event, "blah");
+ assert_equals(script.htmlFor, "blah");
+ assert_equals(script.getAttribute("event"), "blah");
+ assert_equals(script.getAttribute("for"), "blah");
+})
+test(function() {
+ var script = document.createElement("script");
+ script.setAttribute("event", "blah");
+ script.setAttribute("for", "blah");
+ script.event = "foo";
+ script.htmlFor = "foo";
+ assert_equals(script.event, "foo");
+ assert_equals(script.htmlFor, "foo");
+ assert_equals(script.getAttribute("event"), "foo");
+ assert_equals(script.getAttribute("for"), "foo");
+})
+test(function() {
+ var script = document.createElement("script");
+ script.setAttribute("event", "blah");
+ script.setAttribute("for", "blah");
+ script.event = null;
+ script.htmlFor = null;
+ assert_equals(script.event, "null");
+ assert_equals(script.htmlFor, "null");
+ assert_equals(script.getAttribute("event"), "null");
+ assert_equals(script.getAttribute("for"), "null");
+})
+test(function() {
+ var script = document.createElement("script");
+ script.setAttribute("event", "blah");
+ script.setAttribute("for", "blah");
+ script.event = undefined;
+ script.htmlFor = undefined;
+ assert_equals(script.event, "undefined");
+ assert_equals(script.htmlFor, "undefined");
+ assert_equals(script.getAttribute("event"), "undefined");
+ assert_equals(script.getAttribute("for"), "undefined");
+})
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/crashtests/marquee-with-calc.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/crashtests/marquee-with-calc.html
new file mode 100644
index 0000000000..51be85323a
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/crashtests/marquee-with-calc.html
@@ -0,0 +1,3 @@
+<canvas>
+ <marquee style="width: calc(340282366920938463463374607431768211455in - 15%); "/>
+</canvas> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/crashtests/marquee-with-table.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/crashtests/marquee-with-table.html
new file mode 100644
index 0000000000..54ad57fcfc
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/crashtests/marquee-with-table.html
@@ -0,0 +1 @@
+<marquee style="width: 0px; display: table; position: absolute;">text</marquee>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-adopt-to-inactive-document-crash.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-adopt-to-inactive-document-crash.html
new file mode 100644
index 0000000000..395f0a2a91
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-adopt-to-inactive-document-crash.html
@@ -0,0 +1,9 @@
+<iframe id="i"></iframe>
+<script>
+var marquee = document.createElement("marquee");
+marquee.start();
+
+var doc = i.contentDocument;
+i.remove();
+doc.adoptNode(marquee);
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-down-manual.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-down-manual.html
new file mode 100644
index 0000000000..a9d4a7f6be
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-down-manual.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: marquee-direction-down</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/multipage/obsolete.html#the-marquee-element">
+<meta name="assert" content="Check if the marquee direction is from top to bottom">
+<p>Test passes if the text "Test Marquee" moves from top to bottom.</p>
+<marquee direction="down">Test Marquee</marquee>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-left-manual.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-left-manual.html
new file mode 100644
index 0000000000..cf08cca4b7
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-left-manual.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: marquee-direction-left</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/multipage/obsolete.html#the-marquee-element">
+<meta name="assert" content="Check if the marquee direction is from right to left">
+<p>Test passes if the text "Test Marquee" moves from right to left.</p>
+<marquee direction="left">Test Marquee</marquee>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-right-manual.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-right-manual.html
new file mode 100644
index 0000000000..b42c9454fb
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-right-manual.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: marquee-direction-right</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/multipage/obsolete.html#the-marquee-element">
+<meta name="assert" content="Check if the marquee direction is from left to right">
+<p>Test passes if the text "Test Marquee" moves from left to right.</p>
+<marquee direction="right">Test Marquee</marquee>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-up-manual.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-up-manual.html
new file mode 100644
index 0000000000..040609fb69
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-direction-up-manual.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: marquee-direction-up</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/multipage/obsolete.html#the-marquee-element">
+<meta name="assert" content="Check if the marquee direction is from bottom to top">
+<p>Test passes if the text "Test Marquee" moves from bottom to top.</p>
+<marquee direction="up">Test Marquee</marquee>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-events-historical.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-events-historical.html
new file mode 100644
index 0000000000..5780b90f04
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-events-historical.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Marquee events must not be implemented</title>
+<link rel="help" href="https://html.spec.whatwg.org/multipage/multipage/obsolete.html#the-marquee-element">
+<link rel="help" href="https://github.com/whatwg/html/pull/6343">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<div id="log"></div>
+<marquee width="1" behavior="alternate">&nbsp;</marquee>
+<marquee width="1">&nbsp;</marquee>
+<marquee width="1" loop="2" behavior="alternate">&nbsp;</marquee>
+<marquee width="1" loop="2">&nbsp;</marquee>
+
+<script>
+test(() => {
+ assert_false("onstart" in HTMLMarqueeElement.prototype, "onstart");
+ assert_false("onfinish" in HTMLMarqueeElement.prototype, "onfinish");
+ assert_false("onbounce" in HTMLMarqueeElement.prototype, "onbounce");
+}, "Event handler IDL attributes must not be implemented");
+
+// Because we use width="1" they will bounce and finish really fast
+async_test(t => {
+ for (const m of document.querySelectorAll("marquee")) {
+ m.addEventListener("start", t.unreached_func(`start: ${m.outerHTML}`));
+ m.addEventListener("finish", t.unreached_func(`finish: ${m.outerHTML}`));
+ m.addEventListener("bounce", t.unreached_func(`bounce: ${m.outerHTML}`));
+ }
+
+ t.step_timeout(() => t.done(), 100);
+}, "No events must be fired, at least during the first 100 ms");
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-loop.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-loop.html
new file mode 100644
index 0000000000..d150a5473b
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-loop.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: marquee-loop</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/multipage/obsolete.html#the-marquee-element">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<marquee id="test1" loop="a">Test1</marquee>
+<marquee id="test2" loop="-2">Test2</marquee>
+<marquee id="test3" loop="2">Test3</marquee>
+<script>
+ test(function() {
+ var mq = document.getElementById("test1");
+ assert_equals(mq.loop, -1, "The value of loop should be -1.");
+ }, "marquee_loop_string");
+
+ test(function() {
+ var mq = document.getElementById("test2");
+ assert_equals(mq.loop, -1, "The value of loop should be -1.");
+ }, "marquee_loop_less_than_1");
+
+ test(function() {
+ var mq = document.getElementById("test3");
+ assert_equals(mq.loop, 2, "The value of loop should be 2.");
+ }, "marquee_loop_normal");
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-min-intrinsic-size-ref.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-min-intrinsic-size-ref.html
new file mode 100644
index 0000000000..7a79361fc3
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-min-intrinsic-size-ref.html
@@ -0,0 +1,9 @@
+<!doctype html>
+<title>Test reference</title>
+<div style="width:200px; border: 2px solid purple;">
+ <marquee style="border: 1px solid black; color: transparent;">
+Lorem, ipsum dolor sit amet consectetur adipisicing elit. Deserunt commodi
+ratione iste tempore nemo mollitia exercitationem error cum excepturi sit ab
+eius consectetur quasi possimus facere, iusto est impedit laborum.
+ </marquee>
+</div>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-min-intrinsic-size.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-min-intrinsic-size.html
new file mode 100644
index 0000000000..827583d730
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-min-intrinsic-size.html
@@ -0,0 +1,15 @@
+<!doctype html>
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1692380">
+<title>Marquee min intrinsic size should not cause overflow</title>
+<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
+<link rel="author" href="https://mozilla.org" title="Mozilla">
+<link rel=match href="marquee-min-intrinsic-size-ref.html">
+<div style="width:200px; border: 2px solid purple;">
+ <div style="display: inline-block;">
+ <marquee style="border: 1px solid black; color: transparent;">
+Lorem, ipsum dolor sit amet consectetur adipisicing elit. Deserunt commodi
+ratione iste tempore nemo mollitia exercitationem error cum excepturi sit ab
+eius consectetur quasi possimus facere, iusto est impedit laborum.
+ </marquee>
+ </div>
+</div>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-scrollamount-effect-manual.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-scrollamount-effect-manual.html
new file mode 100644
index 0000000000..ad7ff0f3b1
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-scrollamount-effect-manual.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: marquee-scrollamount-effect</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/multipage/obsolete.html#the-marquee-element">
+<meta name="assert" content="Check the effect of scrollamount attribute">
+<p>Test passes if the text "Test2" moves faster than the text "Test1".</p>
+<marquee id="test1">Test1</marquee>
+<marquee scrollamount="10" id="test2">Test2</marquee>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-scrollamount.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-scrollamount.html
new file mode 100644
index 0000000000..808361a99f
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-scrollamount.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: marquee-scrollamount</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/multipage/obsolete.html#the-marquee-element">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<marquee id="test1" scrollamount="aa">Test1</marquee>
+<marquee id="test2" scrollamount="-1">Test2</marquee>
+<marquee id="test3" scrollamount="10">Test3</marquee>
+<script>
+ test(function() {
+ var mq = document.getElementById("test1");
+ assert_equals(mq.scrollAmount, 6, "The value of scrollamount should be 6.");
+ }, "The scrollamount is a string");
+
+ test(function() {
+ var mq = document.getElementById("test2");
+ assert_equals(mq.scrollAmount, 6, "The value of scrollamount should be 6.");
+ }, "The scrollamount is a negative");
+
+ test(function() {
+ var mq = document.getElementById("test3");
+ assert_equals(mq.scrollAmount, 10, "The value of scrollamount should be 10.");
+ }, "The scrollamount is a normal value");
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-scrolldelay.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-scrolldelay.html
new file mode 100644
index 0000000000..394158669b
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-scrolldelay.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: marquee-scrolldelay</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/multipage/obsolete.html#the-marquee-element">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<marquee id="test1" scrolldelay="aa">Test1</marquee>
+<marquee id="test2" scrolldelay="-1">Test2</marquee>
+<marquee id="test3" scrolldelay="1">Test3</marquee>
+<marquee id="test4" scrolldelay="100">Test4</marquee>
+<script>
+ test(function() {
+ var mq = document.getElementById("test1");
+ assert_equals(mq.scrollDelay, 85, "The delay time should be 85ms.");
+ }, "The scrolldelay attribute is a string");
+
+ test(function() {
+ var mq = document.getElementById("test2");
+ assert_equals(mq.scrollDelay, 85, "The delay time should be 85ms.");
+ }, "The scrolldelay attribute is a negative");
+
+ test(function() {
+ var mq = document.getElementById("test3");
+ assert_equals(mq.scrollDelay, 1,
+ "The delay time should be 1ms (although this doesn't " +
+ "match rendering).");
+ }, "The scrolldelay attribute is less than 60");
+
+ test(function() {
+ var mq = document.getElementById("test4");
+ assert_equals(mq.scrollDelay, 100, "The delay time should be 100ms.");
+ }, "The scrolldelay attribute is greater than 60");
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-start-manual.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-start-manual.html
new file mode 100644
index 0000000000..51b4289b24
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-start-manual.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: marquee-start</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/multipage/obsolete.html#the-marquee-element">
+<meta name="flags" content="interact">
+<meta name="assert" content="Check the start operation of HTMLMarqueeElement interface">
+<h2>Steps:</h2>
+<ol>
+ <li>Click the 'Start' button to start the marquee element.</li>
+</ol>
+<h2>Expected result:</h2>
+<ul>
+ <li>The text "Test Marquee" start to move when the 'Start' button is clicked.</li>
+</ul>
+<input type="button" id="start" value="Start" />
+<marquee id="test">Test Marquee</marquee>
+<script>
+ document.getElementById("test").stop();
+ document.getElementById("start").addEventListener("click", function(evt) {
+ document.getElementById("test").start();
+ }, false);
+</script>
diff --git a/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-stop-manual.html b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-stop-manual.html
new file mode 100644
index 0000000000..57a4e73e4c
--- /dev/null
+++ b/testing/web-platform/tests/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-stop-manual.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: marquee-stop</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/multipage/obsolete.html#the-marquee-element">
+<meta name="flags" content="interact">
+<meta name="assert" content="Check the stop operation of HTMLMarqueeElement interface">
+<h2>Steps:</h2>
+<ol>
+ <li>Click the 'Start' button to start the marquee element.</li>
+</ol>
+<h2>Expected result:</h2>
+<ul>
+ <li>The text "Test Marquee" stop moving when the 'Stop' button is clicked.</li>
+</ul>
+<input type="button" id="stop" value="Stop" />
+<marquee id="test">Test Marquee</marquee>
+<script>
+ document.getElementById("stop").addEventListener("click", function(evt) {
+ document.getElementById("test").stop();
+ }, false);
+</script>