diff options
Diffstat (limited to 'testing/web-platform/tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history.window.js')
-rw-r--r-- | testing/web-platform/tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history.window.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history.window.js b/testing/web-platform/tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history.window.js new file mode 100644 index 0000000000..0134da24f0 --- /dev/null +++ b/testing/web-platform/tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history.window.js @@ -0,0 +1,29 @@ +// Historically, document.open() created an entry in the session history so +// that the original page could be seen by going back. Test that this behavior +// no longer occurs. +// +// This test uses window.open() for variety, as most other tests in this +// directory use document.open(). An <iframe> would probably work also. We can +// always add an <iframe>-based test later if it is deemed necessary. + +const t = async_test("document.open should not add an entry to the session history"); + +const frameURL = new URL("resources/history-frame.html", document.URL).href; + +let origLength; +window.onFrameLoaded = t.step_func(() => { + window.onFrameLoaded = t.unreached_func("onFrameLoaded should only be called once"); + assert_equals(win.document.URL, frameURL); + assert_true(win.document.body.textContent.includes("Old")); + origLength = win.history.length; +}); +window.onDocumentOpen = t.step_func_done(() => { + window.onDocumentOpen = t.unreached_func("onDocumentOpen should only be called once"); + assert_equals(win.document.URL, frameURL); + assert_true(win.document.body.textContent.includes("New")); + assert_not_equals(origLength, undefined); + assert_equals(win.history.length, origLength); +}); + +const win = window.open(frameURL); +t.add_cleanup(() => win.close()); |