diff options
Diffstat (limited to 'browser/components/extensions/test/browser/browser_ext_tabs_move_window_pinned.js')
-rw-r--r-- | browser/components/extensions/test/browser/browser_ext_tabs_move_window_pinned.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/browser/components/extensions/test/browser/browser_ext_tabs_move_window_pinned.js b/browser/components/extensions/test/browser/browser_ext_tabs_move_window_pinned.js new file mode 100644 index 0000000000..b2953dea48 --- /dev/null +++ b/browser/components/extensions/test/browser/browser_ext_tabs_move_window_pinned.js @@ -0,0 +1,44 @@ +/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set sts=2 sw=2 et tw=80: */ +"use strict"; + +add_task(async function () { + let extension = ExtensionTestUtils.loadExtension({ + manifest: { + permissions: ["tabs"], + }, + + async background() { + const URL = "http://example.com/"; + + let mainWin = await browser.windows.getCurrent(); + let tab = await browser.tabs.create({ url: URL }); + + let newWin = await browser.windows.create({ url: URL }); + let tab2 = newWin.tabs[0]; + await browser.tabs.update(tab2.id, { pinned: true }); + + // Try to move a tab before the pinned tab. The move should be ignored. + let moved = await browser.tabs.move(tab.id, { + windowId: newWin.id, + index: 0, + }); + browser.test.assertEq(moved.length, 0, "move() returned no moved tab"); + + tab = await browser.tabs.get(tab.id); + browser.test.assertEq( + tab.windowId, + mainWin.id, + "Tab stayed in its original window" + ); + + await browser.tabs.remove(tab.id); + await browser.windows.remove(newWin.id); + browser.test.notifyPass("tabs.move.pin"); + }, + }); + + await extension.startup(); + await extension.awaitFinish("tabs.move.pin"); + await extension.unload(); +}); |