diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream')
29 files changed, 413 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/.gitkeep b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/.gitkeep diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/001.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/001.html new file mode 100644 index 000000000..f82d80be7 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/001.html @@ -0,0 +1,20 @@ +<!doctype html> +<title>Replacement of window object after document.open</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<iframe></iframe> +<script> +var t = async_test(); + +onload = t.step_func(function() { + var iframe = document.getElementsByTagName("iframe")[0]; + iframe.contentWindow.state = 1; + var handle = iframe.contentWindow; + iframe.contentDocument.open(); + assert_false("state" in iframe.contentWindow, "Variables are not preserved after document.open"); + assert_equals(iframe.contentWindow.state, undefined, "Variables are not preserved after document.open"); + assert_equals(iframe.contentWindow, handle); + t.done(); +}); +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/002.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/002.html new file mode 100644 index 000000000..42f6c580c --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/002.html @@ -0,0 +1,12 @@ +<!doctype html> +<title>document.open during parsing</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<script> +test(function() { + var log = document.getElementById("log"); + document.open() + assert_equals(document.getElementById("log"), log) +}) +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/004-1.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/004-1.html new file mode 100644 index 000000000..c50eddd41 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/004-1.html @@ -0,0 +1 @@ +<!doctype html> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/004.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/004.html new file mode 100644 index 000000000..f489caa72 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/004.html @@ -0,0 +1,19 @@ +<!doctype html> +<title>Reuse of document object after document.open</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<iframe src="004-1.html"></iframe> +<script> +var t = async_test(); +var iframe; +onload = t.step_func(function() { + var iframe = document.getElementsByTagName("iframe")[0]; + var handle = iframe.contentDocument; + iframe.contentDocument.test_state = 1; + iframe.contentDocument.open(); + assert_equals(iframe.contentDocument.test_state, 1); + assert_equals(iframe.contentDocument, handle); + t.done(); +}); +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/005.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/005.html new file mode 100644 index 000000000..6bd850520 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/005.html @@ -0,0 +1,16 @@ +<!doctype html> +<title>Cancelling timeout after document.open</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<iframe src="004-1.html"></iframe> +<script> +var t = async_test(); +var iframe; +onload = t.step_func(function() { + var iframe = document.getElementsByTagName("iframe")[0]; + iframe.contentWindow.setTimeout(t.step_func(function() {assert_unreached()}), 100); + iframe.contentDocument.open() + setTimeout(function() {t.done();}, 200); +}); +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/006.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/006.html new file mode 100644 index 000000000..692d06d98 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/006.html @@ -0,0 +1,19 @@ +<!doctype html> +<title>Cancelling error after document.open</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<iframe src="004-1.html"></iframe> +<script> +var t = async_test(); +var iframe; +onload = t.step_func(function() { + var iframe = document.getElementsByTagName("iframe")[0]; + var img = iframe.contentDocument.createElement("img"); + img.onerror = t.step_func(function() {assert_unreached()}) + img.src = "missing"; + iframe.contentDocument.body.appendChild(img); + iframe.contentDocument.open() + setTimeout(function() {t.done();}, 500); +}); +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/007.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/007.html new file mode 100644 index 000000000..e5f0d1561 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/007.html @@ -0,0 +1,19 @@ +<!doctype html> +<title>Unregistering event handlers after document.open</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<iframe src="004-1.html"></iframe> +<script> +var t = async_test(); +var iframe; +onload = t.step_func(function() { + var iframe = document.getElementsByTagName("iframe")[0]; + iframe.contentDocument.onclick = t.step_func(function() {assert_unreached()}) + iframe.contentDocument.open(); + var e = iframe.contentDocument.createEvent("mouseevents") + e.initEvent("click", false, false); + iframe.contentDocument.dispatchEvent(e); + setTimeout(function() {t.done();}, 500); +}); +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/008.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/008.html new file mode 100644 index 000000000..08fd4aa43 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/008.html @@ -0,0 +1,20 @@ +<!doctype html> +<title>Replacement of document prototype object after document.open</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<iframe src="004-1.html"></iframe> +<script> +var t = async_test(); +var iframe; +onload = t.step_func(function() { + var iframe = document.getElementsByTagName("iframe")[0]; + var handle = Object.getPrototypeOf(iframe.contentDocument); + handle.test_state = 1; + iframe.contentDocument.open(); + var new_handle = Object.getPrototypeOf(iframe.contentDocument); + assert_equals(new_handle.test_state, undefined); + assert_not_equals(new_handle, handle); + t.done(); +}); +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/009.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/009.html new file mode 100644 index 000000000..4fc5163ea --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/009.html @@ -0,0 +1,34 @@ +<!doctype html> +<title>document.open replacing singleton</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<iframe src="004-1.html"></iframe> +<script> +var iframe = document.getElementsByTagName("iframe")[0]; +var steps; +iframe.onload = function() { +steps = ["window", "location", "history", "navigator", "applicationCache", "sessionStorage", "localStorage", "locationbar"].map( +function(x) { + var t = async_test(document.title + " " + x); + var handle = iframe.contentWindow[x]; + handle.test_state = 1; + return t.step_func( + function() { + var new_handle = iframe.contentWindow[x]; + assert_equals(new_handle.test_state, undefined); + if (x !== "window") { + assert_not_equals(new_handle, handle); + } else { + assert_equals(new_handle, handle); + } + t.done(); + }); + } +); +} +onload = function() { + iframe.contentDocument.open(); + steps.forEach(function(x) {x()}); +} +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-1.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-1.html new file mode 100644 index 000000000..317e13691 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-1.html @@ -0,0 +1,2 @@ +<!doctype html> +010-1 diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-2.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-2.html new file mode 100644 index 000000000..ea537fcd6 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-2.html @@ -0,0 +1,5 @@ +<!doctype html> +010-2 +<script> +onload = function() {history.back()} +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html new file mode 100644 index 000000000..f37e8855d --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html @@ -0,0 +1,22 @@ +<!doctype html> +<title>Salvagability of document.opened document</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<iframe src="010-1.html"></iframe> +<script> +var iframe; +var t = async_test(); +onload = t.step_func(function() { + iframe = document.getElementsByTagName("iframe")[0]; + iframe.contentDocument.open(); + iframe.contentDocument.close(); + + iframe.contentWindow.setTimeout(t.step_func(function() {t.done();}), 500); + + onload = null; + + iframe.src = "010-2.html" + setTimeout(t.step_func(function() {assert_unreached()}), 1000) +}) +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011-1.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011-1.html new file mode 100644 index 000000000..e12d78f4a --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011-1.html @@ -0,0 +1,5 @@ +<script> +document.open() +setTimeout(parent.t.step_func(function() {parent.t.done()}), 0); +document.close(); +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011.html new file mode 100644 index 000000000..2acc884c5 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011.html @@ -0,0 +1,9 @@ +<!doctype html> +<title>Timeout after document.open</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<script> +var t = async_test(); +</script> +<iframe src="011-1.html"></iframe> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012-1.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012-1.html new file mode 100644 index 000000000..b1937b2f8 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012-1.html @@ -0,0 +1,7 @@ +<script> +onload = parent.t.step_func(function() { + document.open() + setTimeout(parent.t.step_func(function() {parent.t.done()}), 0); + document.close(); +}); +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012.html new file mode 100644 index 000000000..518454858 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012.html @@ -0,0 +1,9 @@ +<!doctype html> +<title>Timeout after document.open in load event</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<script> +var t = async_test(); +</script> +<iframe src="012-1.html"></iframe> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013-1.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013-1.html new file mode 100644 index 000000000..ed8843bbd --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013-1.html @@ -0,0 +1,7 @@ +<script> +addEventListener("DOMContentLoaded", parent.t.step_func(function() { + document.open() + setTimeout(parent.t.step_func(function() {parent.t.done()}), 0); + document.close(); +}), false); +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013.html new file mode 100644 index 000000000..5749361aa --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013.html @@ -0,0 +1,9 @@ +<!doctype html> +<title>Timeout after document.open in DOMContentLoaded event</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<script> +var t = async_test(); +</script> +<iframe src="013-1.html"></iframe> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014-1.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014-1.html new file mode 100644 index 000000000..6d04da565 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014-1.html @@ -0,0 +1,9 @@ +<script> +onload = parent.t.step_func(function() { + setTimeout(parent.t.step_func(function() { + document.open() + setTimeout(parent.t.step_func(function() {parent.t.done()}), 0); + document.close(); + }), 100) +}); +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014.html new file mode 100644 index 000000000..b4e4b17cf --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014.html @@ -0,0 +1,9 @@ +<!doctype html> +<title>Timeout after document.open after document is completely loaded</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<script> +var t = async_test(); +</script> +<iframe src="014-1.html"></iframe> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015-1.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015-1.html new file mode 100644 index 000000000..670710090 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015-1.html @@ -0,0 +1,17 @@ +<script> +onload = function() { + window.test_prop = 1; + parent.tests[0].step(function() {parent.assert_equals(test_prop, 1)}); + document.open(); + document.write("<script>test_prop = 2;<\/script>"); + document.close(); + parent.tests[0].step(function() {parent.assert_equals(test_prop, 1)}); + parent.tests[1].step(function() {parent.assert_equals(window.test_prop, 2)}); + parent.tests[2].step(function() {parent.assert_equals(get_this(), window)}); + parent.tests_done(); +}; + +function get_this() { + return this; +} +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015.html new file mode 100644 index 000000000..5ef06176b --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015.html @@ -0,0 +1,14 @@ +<!doctype html> +<title>Window vs global scope after document.open</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<script> +var tests = [async_test("global scope unchanged"), + async_test("window object changed"), + async_test("this is the window object")]; +function tests_done() { + tests.forEach(function(t) {t.done()}); +} +</script> +<iframe src="015-1.html"></iframe> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/016-1.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/016-1.html new file mode 100644 index 000000000..17f5140ec --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/016-1.html @@ -0,0 +1,39 @@ +<script> +window.test_prop = 1; +</script> +<script> +onload = function() { + document.open(); + document.write("<script>test_prop = 2; timeout_fired=false;<\/script>"); + document.close(); + + setTimeout(function() { + parent.tests[0].step(function() { + parent.assert_equals(test_prop, 1, "Global scope from original window timeout"); + parent.assert_equals(window.test_prop, 2, "Window property from original window timeout") + }); + parent.tests[1].step(function() { + var t = get_this(); + parent.assert_equals(t.test_prop, 2, "Window property from original window timeout"); + parent.assert_equals(t, window, "Global scope from original window timeout"); + }); + }, 0); + + window.setTimeout(function() { + parent.tests[2].step(function() { + parent.assert_equals(test_prop, 1, "Global scope from original window timeout"); + parent.assert_equals(window.test_prop, 2, "Window property from original window timeout") + }); + parent.tests[3].step(function() { + var t = get_this(); + parent.assert_equals(t.test_prop, 2, "Window property from original window timeout"); + parent.assert_equals(t, window, "Global scope from original window timeout"); + }); + parent.tests_done(); + }, 100); +}; + +function get_this() { + return this; +} +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/016.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/016.html new file mode 100644 index 000000000..1c70fce59 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/016.html @@ -0,0 +1,15 @@ +<!doctype html> +<title>setTimeout document.open</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<script> +var tests = [async_test("Timeout on original window, scope"), + async_test("Timeout on original window, this object"), + async_test("Timeout on new window, scope"), + async_test("Timeout on new window, this object")]; +function tests_done() { + tests.forEach(function(t) {t.done()}); +} +</script> +<iframe src="016-1.html"></iframe> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml new file mode 100644 index 000000000..974702ae8 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml @@ -0,0 +1,19 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>document.open in XHTML</title> +<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com"/> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#opening-the-input-stream"/> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +</head> +<body> +<div id="log"></div> +<script> +test(function() { + assert_throws("INVALID_STATE_ERR", function() { + document.open(); + }, "document.open in XHTML should throw an INVALID_STATE_ERR "); +}, "document.open in XHTML"); +</script> +</body> +</html> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html new file mode 100644 index 000000000..b56e3a836 --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<title>document.open with three arguments</title> +<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-document-open"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<script> +function open() { + assert_unreached("The call should be redirected to the real window.open") +} +test(function(t) { + var w; + t.add_cleanup(function() {try {w.close()} catch(e) {}}); + w = document.open("/resources/testharness.js", "", ""); + assert_true(w instanceof w.Window, "Expected a window"); +}, "document.open should redirect to window.open when called with three arguments"); + +test(function() { + var parser = new DOMParser(); + var doc = parser.parseFromString("", "text/html"); + assert_equals(doc.defaultView, null); + assert_throws("INVALID_ACCESS_ERR", function() { + doc.open("/resources/testharness.js", "", ""); + }); +}, "document.open should throw when it has no window and is called with three arguments"); +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html new file mode 100644 index 000000000..b5252dcea --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<script> +onload = function() { + document.open(); + document.close(); + parent.report(window.setTimeout === setTimeout, false, "setTimeout"); + parent.report(window === this, true, "this"); + parent.done(); +} +</script> diff --git a/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html new file mode 100644 index 000000000..fc325d54d --- /dev/null +++ b/testing/web-platform/tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<title>document.open and singleton replacement</title> +<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-document-open"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<script> +var t = async_test(); +function report(actual, expected, message) { + t.step(function() { + assert_equals(actual, expected, message); + }); +} +function done() { + t.done(); +} +</script> +<iframe src=document.open-03-frame.html></iframe> |