summaryrefslogtreecommitdiffstats
path: root/browser/components/customizableui/test/browser_947914_button_addons.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/customizableui/test/browser_947914_button_addons.js')
-rw-r--r--browser/components/customizableui/test/browser_947914_button_addons.js64
1 files changed, 64 insertions, 0 deletions
diff --git a/browser/components/customizableui/test/browser_947914_button_addons.js b/browser/components/customizableui/test/browser_947914_button_addons.js
new file mode 100644
index 0000000000..7985098c02
--- /dev/null
+++ b/browser/components/customizableui/test/browser_947914_button_addons.js
@@ -0,0 +1,64 @@
+/* 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/. */
+
+"use strict";
+
+var initialLocation = gBrowser.currentURI.spec;
+
+add_task(async function() {
+ if (
+ Services.prefs.getBoolPref("extensions.unifiedExtensions.enabled", false)
+ ) {
+ // When this pref is enabled, the "Add-ons and themes" button no longer
+ // exists so we cannot test it... In the future, we'll want to remove this
+ // test entirely since it won't be relevant when the unified extensions UI
+ // will be enabled on all channels.
+ ok(true, "Skip task because unifiedExtensions pref is enabled");
+ return;
+ }
+
+ CustomizableUI.addWidgetToArea(
+ "add-ons-button",
+ CustomizableUI.AREA_FIXED_OVERFLOW_PANEL
+ );
+ info("Check addons button existence and functionality");
+
+ await waitForOverflowButtonShown();
+
+ await document.getElementById("nav-bar").overflowable.show();
+ info("Menu panel was opened");
+
+ let addonsButton = document.getElementById("add-ons-button");
+ ok(addonsButton, "Add-ons button exists in Panel Menu");
+ addonsButton.click();
+
+ await Promise.all([
+ TestUtils.waitForCondition(
+ () => gBrowser.currentURI && gBrowser.currentURI.spec == "about:addons"
+ ),
+ new Promise(r =>
+ gBrowser.selectedBrowser.addEventListener("load", r, true)
+ ),
+ ]);
+
+ let addonsPage = gBrowser.selectedBrowser.contentWindow.document.querySelector(
+ "title[data-l10n-id='addons-page-title']"
+ );
+ ok(addonsPage, "Add-ons page was opened");
+});
+
+add_task(async function asyncCleanup() {
+ if (
+ Services.prefs.getBoolPref("extensions.unifiedExtensions.enabled", false)
+ ) {
+ // The comment in the task above also applies here.
+ ok(true, "Skip task because unifiedExtensions pref is enabled");
+ return;
+ }
+
+ CustomizableUI.reset();
+ BrowserTestUtils.addTab(gBrowser, initialLocation);
+ gBrowser.removeTab(gBrowser.selectedTab);
+ info("Tabs were restored");
+});