/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ /* Test that after using document.write(...), refreshing the document and calling write again, resulting document.URL does not contain 'wyciwyg' schema and instead is identical to the original URL. This testcase is aimed at preventing bug 619092 */ var testURL = "http://mochi.test:8888/browser/dom/html/test/file_refresh_wyciwyg_url.html"; let aTab, aBrowser; function test(){ waitForExplicitFinish(); aTab = BrowserTestUtils.addTab(gBrowser, testURL); aBrowser = gBrowser.getBrowserForTab(aTab); BrowserTestUtils.browserLoaded(aBrowser).then(() => { is(aBrowser.currentURI.spec, testURL, "Make sure we start at the correct URL"); ContentTask.spawn(aBrowser, null, () => { // test_btn calls document.write() then reloads the document let test_btn = content.document.getElementById("test_btn"); addEventListener("load", () => { test_btn.click(); }, {once: true, capture: true}); test_btn.click(); }); return BrowserTestUtils.browserLoaded(aBrowser); }).then(() => { return ContentTask.spawn(aBrowser, null, () => content.document.URL); }).then(url => { is(url, testURL, "Document URL should be identical after reload"); gBrowser.removeTab(aTab); finish(); }); }