Bug 1634252 - Add test case r=kmag

Differential Revision: https://phabricator.services.mozilla.com/D76994
This commit is contained in:
Paul Bone 2020-06-02 02:23:34 +00:00
parent 5bfd820a91
commit afb2aaaebd
2 changed files with 58 additions and 0 deletions

View File

@ -32,6 +32,7 @@ skip-if = debug # Bug 1444565, Bug 1457887
[browser_e10s_javascript.js] [browser_e10s_javascript.js]
[browser_file_to_http_script_closable.js] [browser_file_to_http_script_closable.js]
support-files = tab_that_closes.html support-files = tab_that_closes.html
[browser_file_to_http_named_popup.js]
[browser_multiselect_tabs_active_tab_selected_by_default.js] [browser_multiselect_tabs_active_tab_selected_by_default.js]
[browser_multiselect_tabs_bookmark.js] [browser_multiselect_tabs_bookmark.js]
[browser_multiselect_tabs_clear_selection_when_tab_switch.js] [browser_multiselect_tabs_clear_selection_when_tab_switch.js]

View File

@ -0,0 +1,57 @@
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
const TEST_FILE = fileURL("dummy_page.html");
const TEST_HTTP = httpURL("dummy_page.html");
// Test for Bug 1634252
add_task(async function() {
await BrowserTestUtils.withNewTab(TEST_FILE, async function(fileBrowser) {
info("Tab ready");
async function summonPopup(firstRun) {
var winPromise = BrowserTestUtils.waitForNewWindow({
url: TEST_HTTP,
});
await SpecialPowers.spawn(
fileBrowser,
[TEST_HTTP, firstRun],
(target, firstRun_) => {
var win = content.open(target, "named", "width=400,height=400");
win.focus();
ok(win, "window.open was successful");
if (firstRun_) {
content.document.firstWindow = win;
} else {
content.document.otherWindow = win;
}
}
);
if (firstRun) {
// We should only wait for the window the first time, because only the
// later times no new window should be created.
info("Waiting for new window");
var win = await winPromise;
ok(win, "Got a window");
}
}
info("Opening window");
await summonPopup(true);
info("Opening window again");
await summonPopup(false);
await SpecialPowers.spawn(fileBrowser, [], () => {
ok(content.document.firstWindow, "Window is non-null");
is(
content.document.otherWindow,
content.document.firstWindow,
"Windows are the same"
);
content.document.firstWindow.close();
});
});
});