fune/browser/base/content/test/tabs/browser_multiselect_tabs_duplicate.js
Mark Banner 691543ee89 Bug 1486739 - Add missing dangling commas in browser/, services/, taskcluster/ and toolkit/. r=mossop
Automatic changes by ESLint, except for manual corrections for .xml files.

Differential Revision: https://phabricator.services.mozilla.com/D4439

--HG--
extra : moz-landing-system : lando
2018-08-31 05:59:17 +00:00

48 lines
1.7 KiB
JavaScript

const PREF_MULTISELECT_TABS = "browser.tabs.multiselect";
add_task(async function setPref() {
await SpecialPowers.pushPrefEnv({
set: [[PREF_MULTISELECT_TABS, true]],
});
});
add_task(async function test() {
let tab1 = await addTab();
let tab2 = await addTab();
let tab3 = await addTab();
let menuItemDuplicateTab = document.getElementById("context_duplicateTab");
is(gBrowser.multiSelectedTabsCount, 0, "Zero multiselected tabs");
await BrowserTestUtils.switchTab(gBrowser, tab1);
await triggerClickOn(tab2, { ctrlKey: true });
ok(tab1.multiselected, "Tab1 is multiselected");
ok(tab2.multiselected, "Tab2 is multiselected");
ok(!tab3.multiselected, "Tab3 is not multiselected");
// Check the context menu with a multiselected tabs
updateTabContextMenu(tab2);
is(menuItemDuplicateTab.hidden, true, "Duplicate Tab is hidden");
// Check the context menu with a non-multiselected tab
updateTabContextMenu(tab3);
is(menuItemDuplicateTab.hidden, false, "Duplicate Tab is visible");
let newTabOpened = BrowserTestUtils.waitForNewTab(gBrowser, "http://mochi.test:8888/");
window.TabContextMenu.contextTab = tab3; // Set proper context for command handler
menuItemDuplicateTab.click();
let tab4 = await newTabOpened;
// Selection should be cleared after duplication
ok(!tab1.multiselected, "Tab1 is not multiselected");
ok(!tab2.multiselected, "Tab2 is not multiselected");
ok(!tab4.multiselected, "Tab3 is not multiselected");
ok(!tab3.multiselected, "Tab4 is not multiselected");
BrowserTestUtils.removeTab(tab1);
BrowserTestUtils.removeTab(tab2);
BrowserTestUtils.removeTab(tab3);
BrowserTestUtils.removeTab(tab4);
});