summaryrefslogtreecommitdiffstats
path: root/browser/components/uitour/test/browser_showMenu_controlCenter.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/uitour/test/browser_showMenu_controlCenter.js')
-rw-r--r--browser/components/uitour/test/browser_showMenu_controlCenter.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/browser/components/uitour/test/browser_showMenu_controlCenter.js b/browser/components/uitour/test/browser_showMenu_controlCenter.js
new file mode 100644
index 000000000..0faa5f862
--- /dev/null
+++ b/browser/components/uitour/test/browser_showMenu_controlCenter.js
@@ -0,0 +1,44 @@
+"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(function* test_showMenu() {
+ is_element_hidden(CONTROL_CENTER_PANEL, "Panel should initially be hidden");
+ yield showMenuPromise(CONTROL_CENTER_MENU_NAME);
+ is_element_visible(CONTROL_CENTER_PANEL, "Panel should be visible after showMenu");
+
+ yield gURLBar.focus();
+ is_element_visible(CONTROL_CENTER_PANEL, "Panel should remain visible after focus outside");
+
+ yield showMenuPromise(CONTROL_CENTER_MENU_NAME);
+ is_element_visible(CONTROL_CENTER_PANEL,
+ "Panel should remain visible and callback called after a 2nd showMenu");
+
+ yield 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(function* test_hideMenu() {
+ is_element_hidden(CONTROL_CENTER_PANEL, "Panel should initially be hidden");
+ yield showMenuPromise(CONTROL_CENTER_MENU_NAME);
+ is_element_visible(CONTROL_CENTER_PANEL, "Panel should be visible after showMenu");
+ let hidePromise = promisePanelElementHidden(window, CONTROL_CENTER_PANEL);
+ yield gContentAPI.hideMenu(CONTROL_CENTER_MENU_NAME);
+ yield hidePromise;
+
+ is_element_hidden(CONTROL_CENTER_PANEL, "Panel should hide after hideMenu");
+});