fune/browser/base/content/test/tabs/browser_tab_manager_visibility.js
Mohd Umar Alam 8f61136be3 Bug 1480542: Add browser.tabs.tabmanager.enabled preference r=sfoster,dao
Added a preference to control the visibility of Tab Manager Menu to facilitate the incremental development.

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

--HG--
extra : moz-landing-system : lando
2019-12-19 11:07:00 +00:00

59 lines
2 KiB
JavaScript

/**
* Test the Tab Manager visibility respects browser.tabs.tabmanager.enabled preference
* */
"use strict";
// The hostname for the test URIs.
const TEST_HOSTNAME = "https://example.com";
const DUMMY_PAGE_PATH = "/browser/base/content/test/tabs/dummy_page.html";
add_task(async function tab_manager_visibility_preference_on() {
Services.prefs.setBoolPref("browser.tabs.tabmanager.enabled", true);
// we flush the xul cache and open a new window to ensure CSS @supports -moz-bool-pref(...) {} rules
// are correctly applied to the browser chrome
Services.obs.notifyObservers(null, "chrome-flush-caches");
await TestUtils.waitForTick();
let newWindow = await BrowserTestUtils.openNewBrowserWindow();
await BrowserTestUtils.withNewTab(
{
gBrowser: newWindow.gBrowser,
url: TEST_HOSTNAME + DUMMY_PAGE_PATH,
},
async function(browser) {
await Assert.ok(
BrowserTestUtils.is_visible(
newWindow.document.getElementById("alltabs-button")
),
"tab manage menu is visible when browser.tabs.tabmanager.enabled preference is set to true"
);
}
);
Services.prefs.clearUserPref("browser.tabs.tabmanager.enabled");
BrowserTestUtils.closeWindow(newWindow);
});
add_task(async function tab_manager_visibility_preference_off() {
Services.prefs.setBoolPref("browser.tabs.tabmanager.enabled", false);
Services.obs.notifyObservers(null, "chrome-flush-caches");
await TestUtils.waitForTick();
let newWindow = await BrowserTestUtils.openNewBrowserWindow();
await BrowserTestUtils.withNewTab(
{
gBrowser: newWindow.gBrowser,
url: TEST_HOSTNAME + DUMMY_PAGE_PATH,
},
async function(browser) {
await Assert.ok(
BrowserTestUtils.is_hidden(
newWindow.document.getElementById("alltabs-button")
),
"tab manage menu is hidden when browser.tabs.tabmanager.enabled preference is set to true"
);
}
);
Services.prefs.clearUserPref("browser.tabs.tabmanager.enabled");
BrowserTestUtils.closeWindow(newWindow);
});