summaryrefslogtreecommitdiffstats
path: root/browser/components/sessionstore/test/browser_duplicate_tab_in_new_window.js
diff options
context:
space:
mode:
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.js37
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..b3e5bfcdba
--- /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.loadURIString(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);
+ }
+ );
+});