summaryrefslogtreecommitdiffstats
path: root/browser/components/extensions/test/browser/browser_ext_tabs_move_window_pinned.js
diff options
context:
space:
mode:
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.js44
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();
+});