fune/browser/components/uitour/test/browser_showMenu.js
Fischer Liu 3a0f05a4ca Bug 1382579 - Part 3: Tests, r=Gijs
This commit
- adds 2 utility functions to the uitour's head.js

- adds the browser_UITour4.js

- moves the tests in the browser_showMenu_controlCenter.js into the newly added the browser_showMenu.js

- deletes the browser_showMenu_urlbar.js because it's test has been modified and moved into the browser_showMenu.js

- adds one test case for the page action panel in the browser_showMenu.js

- updates the browser_UITour_availableTargets.js test because we have more targets right now.

MozReview-Commit-ID: CydEAkqAl3V

--HG--
rename : browser/components/uitour/test/browser_showMenu_controlCenter.js => browser/components/uitour/test/browser_showMenu.js
extra : rebase_source : 3b4d124ccfc12e577ce509241d19795d87fa3206
2017-08-02 13:53:05 +08:00

68 lines
2.7 KiB
JavaScript

"use strict";
var {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
const CONTROL_CENTER_PANEL = gIdentityHandler._identityPopup;
const CONTROL_CENTER_MENU_NAME = "controlCenter";
var gTestTab;
var gContentAPI;
var gContentWindow;
add_task(setup_UITourTest);
add_UITour_task(async function test_showMenu_controlCenter() {
is_element_hidden(CONTROL_CENTER_PANEL, "Panel should initially be hidden");
await showMenuPromise(CONTROL_CENTER_MENU_NAME);
is_element_visible(CONTROL_CENTER_PANEL, "Panel should be visible after showMenu");
await gURLBar.focus();
is_element_visible(CONTROL_CENTER_PANEL, "Panel should remain visible after focus outside");
await showMenuPromise(CONTROL_CENTER_MENU_NAME);
is_element_visible(CONTROL_CENTER_PANEL,
"Panel should remain visible and callback called after a 2nd showMenu");
await BrowserTestUtils.withNewTab({
gBrowser,
url: "about:blank"
}, function() {
ok(true, "Tab opened");
});
is_element_hidden(CONTROL_CENTER_PANEL, "Panel should hide upon tab switch");
});
add_UITour_task(async function test_hideMenu_controlCenter() {
is_element_hidden(CONTROL_CENTER_PANEL, "Panel should initially be hidden");
await showMenuPromise(CONTROL_CENTER_MENU_NAME);
is_element_visible(CONTROL_CENTER_PANEL, "Panel should be visible after showMenu");
let hidePromise = promisePanelElementHidden(window, CONTROL_CENTER_PANEL);
await gContentAPI.hideMenu(CONTROL_CENTER_MENU_NAME);
await hidePromise;
is_element_hidden(CONTROL_CENTER_PANEL, "Panel should hide after hideMenu");
});
add_UITour_task(async function test_showMenu_hideMenu_urlbarPopup() {
let shownPromise = promisePanelElementShown(window, gURLBar.popup);
await showMenuPromise("urlbar");
await shownPromise;
is(gURLBar.popup.state, "open", "The urlbar popup should open after showMenu");
is(gURLBar.controller.searchString, "Firefox", "Search string is Firefox");
let hidePromise = promisePanelElementHidden(window, gURLBar.popup);
await gContentAPI.hideMenu("urlbar");
await hidePromise;
is(gURLBar.popup.state, "closed", "The urlbar popup should close after hideMenu");
});
add_UITour_task(async function test_showMenu_hideMenu_pageActionPanel() {
let pageActionPanel = BrowserPageActions.panelNode;
let shownPromise = promisePanelElementShown(window, pageActionPanel);
await showMenuPromise("pageActionPanel");
await shownPromise;
is(pageActionPanel.state, "open", "The page action panel should open after showMenu");
let hidePromise = promisePanelElementHidden(window, pageActionPanel);
await gContentAPI.hideMenu("pageActionPanel");
await hidePromise;
is(pageActionPanel.state, "closed", "The page action panel should close after hideMenu");
});