зеркало из https://github.com/mozilla/gecko-dev.git
53 строки
1.4 KiB
JavaScript
53 строки
1.4 KiB
JavaScript
/* 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 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_after_document_write.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();
|
|
});
|
|
}
|