summaryrefslogtreecommitdiffstats
path: root/browser/components/customizableui/test/browser_switch_to_customize_mode.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/customizableui/test/browser_switch_to_customize_mode.js')
-rw-r--r--browser/components/customizableui/test/browser_switch_to_customize_mode.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/browser/components/customizableui/test/browser_switch_to_customize_mode.js b/browser/components/customizableui/test/browser_switch_to_customize_mode.js
new file mode 100644
index 0000000000..55e80d3517
--- /dev/null
+++ b/browser/components/customizableui/test/browser_switch_to_customize_mode.js
@@ -0,0 +1,53 @@
+"use strict";
+
+add_task(async function () {
+ await startCustomizing();
+ is(gBrowser.tabs.length, 2, "Should have 2 tabs");
+
+ let paletteKidCount = document.getElementById(
+ "customization-palette"
+ ).childElementCount;
+ let nonCustomizingTab = gBrowser.tabContainer.querySelector(
+ "tab:not([customizemode=true])"
+ );
+ let finishedCustomizing = BrowserTestUtils.waitForEvent(
+ gNavToolbox,
+ "aftercustomization"
+ );
+ await BrowserTestUtils.switchTab(gBrowser, nonCustomizingTab);
+ await finishedCustomizing;
+
+ let startedCount = 0;
+ let handler = e => startedCount++;
+ gNavToolbox.addEventListener("customizationstarting", handler);
+ await startCustomizing();
+ CustomizableUI.removeWidgetFromArea("stop-reload-button");
+ await gCustomizeMode.reset().catch(e => {
+ ok(
+ false,
+ "Threw an exception trying to reset after making modifications in customize mode: " +
+ e
+ );
+ });
+
+ let newKidCount = document.getElementById(
+ "customization-palette"
+ ).childElementCount;
+ is(
+ newKidCount,
+ paletteKidCount,
+ "Should have just as many items in the palette as before."
+ );
+ await endCustomizing();
+ is(startedCount, 1, "Should have only started once");
+ gNavToolbox.removeEventListener("customizationstarting", handler);
+ let customizableToolbars = document.querySelectorAll(
+ "toolbar[customizable=true]:not([autohide=true])"
+ );
+ for (let toolbar of customizableToolbars) {
+ ok(
+ !toolbar.hasAttribute("customizing"),
+ "Toolbar " + toolbar.id + " is no longer customizing"
+ );
+ }
+});