summaryrefslogtreecommitdiffstats
path: root/browser/components/customizableui/test/browser_1096763_seen_widgets_post_reset.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/customizableui/test/browser_1096763_seen_widgets_post_reset.js')
-rw-r--r--browser/components/customizableui/test/browser_1096763_seen_widgets_post_reset.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/browser/components/customizableui/test/browser_1096763_seen_widgets_post_reset.js b/browser/components/customizableui/test/browser_1096763_seen_widgets_post_reset.js
new file mode 100644
index 0000000000..74854f499c
--- /dev/null
+++ b/browser/components/customizableui/test/browser_1096763_seen_widgets_post_reset.js
@@ -0,0 +1,41 @@
+"use strict";
+
+const BUTTONID = "test-seenwidget-post-reset";
+
+add_task(async function () {
+ CustomizableUI.createWidget({
+ id: BUTTONID,
+ label: "Test widget seen post reset",
+ defaultArea: CustomizableUI.AREA_NAVBAR,
+ });
+
+ const kPrefCustomizationState = "browser.uiCustomization.state";
+ ok(
+ CustomizableUI.getTestOnlyInternalProp("gSeenWidgets").has(BUTTONID),
+ "Widget should be seen after createWidget is called."
+ );
+ CustomizableUI.reset();
+ ok(
+ CustomizableUI.getTestOnlyInternalProp("gSeenWidgets").has(BUTTONID),
+ "Widget should still be seen after reset."
+ );
+ CustomizableUI.addWidgetToArea(BUTTONID, CustomizableUI.AREA_NAVBAR);
+ gCustomizeMode.removeFromArea(document.getElementById(BUTTONID));
+ let hasUserValue = Services.prefs.prefHasUserValue(kPrefCustomizationState);
+ ok(hasUserValue, "Pref should be set right now.");
+ if (hasUserValue) {
+ let seenArray = JSON.parse(
+ Services.prefs.getCharPref(kPrefCustomizationState)
+ ).seen;
+ isnot(
+ seenArray.indexOf(BUTTONID),
+ -1,
+ "Widget should be in saved 'seen' list."
+ );
+ }
+});
+
+registerCleanupFunction(function () {
+ CustomizableUI.destroyWidget(BUTTONID);
+ CustomizableUI.reset();
+});