summaryrefslogtreecommitdiffstats
path: root/browser/components/customizableui/test/browser_982656_restore_defaults_builtin_widgets.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/customizableui/test/browser_982656_restore_defaults_builtin_widgets.js')
-rw-r--r--browser/components/customizableui/test/browser_982656_restore_defaults_builtin_widgets.js82
1 files changed, 82 insertions, 0 deletions
diff --git a/browser/components/customizableui/test/browser_982656_restore_defaults_builtin_widgets.js b/browser/components/customizableui/test/browser_982656_restore_defaults_builtin_widgets.js
new file mode 100644
index 0000000000..20314d6790
--- /dev/null
+++ b/browser/components/customizableui/test/browser_982656_restore_defaults_builtin_widgets.js
@@ -0,0 +1,82 @@
+/* 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";
+
+// Restoring default should not place addon widgets back in the toolbar
+add_task(async function () {
+ ok(CustomizableUI.inDefaultState, "Default state to begin");
+
+ const kWidgetId =
+ "bug982656-add-on-widget-should-not-restore-to-default-area";
+ let widgetSpec = {
+ id: kWidgetId,
+ defaultArea: CustomizableUI.AREA_NAVBAR,
+ };
+ CustomizableUI.createWidget(widgetSpec);
+
+ ok(!CustomizableUI.inDefaultState, "Not in default state after widget added");
+ is(
+ CustomizableUI.getPlacementOfWidget(kWidgetId).area,
+ CustomizableUI.AREA_NAVBAR,
+ "Widget should be in navbar"
+ );
+
+ await resetCustomization();
+
+ ok(CustomizableUI.inDefaultState, "Back in default state after reset");
+ is(
+ CustomizableUI.getPlacementOfWidget(kWidgetId),
+ null,
+ "Widget now in palette"
+ );
+ CustomizableUI.destroyWidget(kWidgetId);
+});
+
+// resetCustomization shouldn't move 3rd party widgets out of custom toolbars
+add_task(async function () {
+ const kToolbarId = "bug982656-toolbar-with-defaultset";
+ const kWidgetId =
+ "bug982656-add-on-widget-should-restore-to-default-area-when-area-is-not-builtin";
+ ok(
+ CustomizableUI.inDefaultState,
+ "Everything should be in its default state."
+ );
+ let toolbar = createToolbarWithPlacements(kToolbarId);
+ ok(CustomizableUI.areas.includes(kToolbarId), "Toolbar has been registered.");
+ is(
+ CustomizableUI.getAreaType(kToolbarId),
+ CustomizableUI.TYPE_TOOLBAR,
+ "Area should be registered as toolbar"
+ );
+
+ let widgetSpec = {
+ id: kWidgetId,
+ defaultArea: kToolbarId,
+ };
+ CustomizableUI.createWidget(widgetSpec);
+
+ ok(
+ !CustomizableUI.inDefaultState,
+ "No longer in default state after toolbar is registered and visible."
+ );
+ is(
+ CustomizableUI.getPlacementOfWidget(kWidgetId).area,
+ kToolbarId,
+ "Widget should be in custom toolbar"
+ );
+
+ await resetCustomization();
+ ok(CustomizableUI.inDefaultState, "Back in default state after reset");
+ is(
+ CustomizableUI.getPlacementOfWidget(kWidgetId).area,
+ kToolbarId,
+ "Widget still in custom toolbar"
+ );
+ ok(toolbar.collapsed, "Custom toolbar should be collapsed after reset");
+
+ toolbar.remove();
+ CustomizableUI.destroyWidget(kWidgetId);
+ CustomizableUI.unregisterArea(kToolbarId);
+});