diff options
Diffstat (limited to 'browser/components/sessionstore/test/browser_duplicate_tab_in_new_window.js')
-rw-r--r-- | browser/components/sessionstore/test/browser_duplicate_tab_in_new_window.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/browser/components/sessionstore/test/browser_duplicate_tab_in_new_window.js b/browser/components/sessionstore/test/browser_duplicate_tab_in_new_window.js new file mode 100644 index 0000000000..d3baf1cd44 --- /dev/null +++ b/browser/components/sessionstore/test/browser_duplicate_tab_in_new_window.js @@ -0,0 +1,37 @@ +ChromeUtils.defineESModuleGetters(this, { + SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs", +}); + +add_task(async function () { + await BrowserTestUtils.withNewTab( + "https://example.com", + async function (aBrowser) { + BrowserTestUtils.startLoadingURIString(aBrowser, "https://example.org"); + await BrowserTestUtils.browserLoaded(aBrowser); + + let windowOpened = BrowserTestUtils.waitForNewWindow( + "https://example.org" + ); + let newWindow = gBrowser.replaceTabWithWindow( + gBrowser.getTabForBrowser(aBrowser) + ); + await windowOpened; + let newTab = SessionStore.duplicateTab( + newWindow, + newWindow.gBrowser.selectedTab + ); + + await BrowserTestUtils.browserLoaded(newTab.linkedBrowser); + + await SpecialPowers.spawn( + newTab.linkedBrowser, + ["https://example.org"], + async ORIGIN => { + is(content.window.origin, ORIGIN); + } + ); + + BrowserTestUtils.closeWindow(newWindow); + } + ); +}); |