From 6b088b7e182b9c5403543bf2ecafa53403c62e28 Mon Sep 17 00:00:00 2001 From: Anne van Kesteren <annevk@annevk.nl> Date: Thu, 3 May 2018 13:09:21 +0200 Subject: [PATCH 1/2] HTML: add test for document.open() and URL fragment For https://github.com/whatwg/html/pull/3970. Co-authored-by: Timothy Gu <timothygu99@gmail.com> --- .../resources/url-frame.html | 9 +++++++ .../url-fragment.window.js | 25 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/url-frame.html create mode 100644 html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window.js diff --git a/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/url-frame.html b/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/url-frame.html new file mode 100644 index 00000000000000..be483ff0aea456 --- /dev/null +++ b/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/url-frame.html @@ -0,0 +1,9 @@ +<script> +onload = () => { + const beforeURL = document.URL; + document.open(); + const afterURL = document.URL; + document.close(); + parent.testDone(beforeURL, afterURL); +} +</script> diff --git a/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window.js b/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window.js new file mode 100644 index 00000000000000..c88134813eaab4 --- /dev/null +++ b/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window.js @@ -0,0 +1,25 @@ +async_test(t => { + const frame = document.body.appendChild(document.createElement("iframe")), + urlSansHash = document.URL; + t.add_cleanup(() => { frame.remove(); }); + assert_equals(frame.contentDocument.URL, "about:blank"); + assert_equals(frame.contentWindow.location.href, "about:blank"); + self.onhashchange = t.step_func_done(() => { + frame.contentDocument.open(); + assert_equals(frame.contentDocument.URL, urlSansHash); + assert_equals(frame.contentWindow.location.href, urlSansHash); + }); + self.location.hash = "heya"; +}, "document.open() and document's URL containing a fragment"); + +window.testDone = undefined; +async_test(t => { + const frame = document.body.appendChild(document.createElement("iframe")) + t.add_cleanup(() => { frame.remove(); }); + frame.src = "resources/url-frame.html#heya"; + window.testDone = t.step_func_done((beforeURL, afterURL) => { + assert_equals(beforeURL, frame.src); + assert_equals(afterURL, frame.src); + assert_equals(frame.contentDocument.URL, frame.src); + }); +}, "document.open() and document's URL containing a fragment (entry is current)"); From bf1e919ff6fc66b5fe78be74d68e8eb5ed45cc26 Mon Sep 17 00:00:00 2001 From: Timothy Gu <timothygu99@gmail.com> Date: Tue, 28 Aug 2018 17:23:08 -0400 Subject: [PATCH 2/2] fix comments --- .../opening-the-input-stream/url-fragment.window.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window.js b/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window.js index c88134813eaab4..0c528935b52db9 100644 --- a/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window.js +++ b/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window.js @@ -10,7 +10,7 @@ async_test(t => { assert_equals(frame.contentWindow.location.href, urlSansHash); }); self.location.hash = "heya"; -}, "document.open() and document's URL containing a fragment"); +}, "document.open() and document's URL containing a fragment (entry is not relevant)"); window.testDone = undefined; async_test(t => { @@ -21,5 +21,6 @@ async_test(t => { assert_equals(beforeURL, frame.src); assert_equals(afterURL, frame.src); assert_equals(frame.contentDocument.URL, frame.src); + assert_equals(frame.contentWindow.location.href, frame.src); }); -}, "document.open() and document's URL containing a fragment (entry is current)"); +}, "document.open() and document's URL containing a fragment (entry is relevant)");