fune/browser/base/content/test/tabs/browser_visibleTabs_contextMenu.js
Jared Wein d38a852ff0 Bug 1480532 - Remove 'Reload All Tabs' from tab context menu. r=Felipe
I left off the part about adding Reload Tabs to the All Tabs menu since the specs don't mention how this would appear with the New Container Tab menuitem and the Tab Manager project has been split off from the multiselect tabs project.

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

--HG--
extra : moz-landing-system : lando
2018-10-12 21:16:44 +00:00

62 lines
2.8 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const remoteClientsFixture = [ { id: 1, name: "Foo"}, { id: 2, name: "Bar"} ];
add_task(async function test() {
// There should be one tab when we start the test
let [origTab] = gBrowser.visibleTabs;
is(gBrowser.visibleTabs.length, 1, "there is one visible tab");
let testTab = BrowserTestUtils.addTab(gBrowser);
is(gBrowser.visibleTabs.length, 2, "there are now two visible tabs");
// Check the context menu with two tabs
updateTabContextMenu(origTab);
is(document.getElementById("context_closeTab").disabled, false, "Close Tab is enabled");
// Hide the original tab.
gBrowser.selectedTab = testTab;
gBrowser.showOnlyTheseTabs([testTab]);
is(gBrowser.visibleTabs.length, 1, "now there is only one visible tab");
// Check the context menu with one tab.
updateTabContextMenu(testTab);
is(document.getElementById("context_closeTab").disabled, false, "Close Tab is enabled when more than one tab exists");
// Add a tab that will get pinned
// So now there's one pinned tab, one visible unpinned tab, and one hidden tab
let pinned = BrowserTestUtils.addTab(gBrowser);
gBrowser.pinTab(pinned);
is(gBrowser.visibleTabs.length, 2, "now there are two visible tabs");
// Check the context menu on the pinned tab
updateTabContextMenu(pinned);
ok(!document.getElementById("context_closeOtherTabs").disabled, "Close Other Tabs is enabled on pinned tab");
ok(!document.getElementById("context_closeTabsToTheEnd").disabled, "Close Tabs To The End is enabled on pinned tab");
// Check the context menu on the unpinned visible tab
updateTabContextMenu(testTab);
ok(document.getElementById("context_closeOtherTabs").disabled, "Close Other Tabs is disabled on single unpinned tab");
ok(document.getElementById("context_closeTabsToTheEnd").disabled, "Close Tabs To The End is disabled on single unpinned tab");
// Show all tabs
let allTabs = Array.from(gBrowser.tabs);
gBrowser.showOnlyTheseTabs(allTabs);
// Check the context menu now
updateTabContextMenu(testTab);
ok(!document.getElementById("context_closeOtherTabs").disabled,
"Close Other Tabs is enabled on unpinned tab when there's another unpinned tab");
ok(document.getElementById("context_closeTabsToTheEnd").disabled, "Close Tabs To The End is disabled on last unpinned tab");
// Check the context menu of the original tab
// Close Tabs To The End should now be enabled
updateTabContextMenu(origTab);
ok(!document.getElementById("context_closeTabsToTheEnd").disabled,
"Close Tabs To The End is enabled on unpinned tab when followed by another");
gBrowser.removeTab(testTab);
gBrowser.removeTab(pinned);
});