summaryrefslogtreecommitdiffstats
path: root/browser/components/customizableui/test/browser_877006_missing_view.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/customizableui/test/browser_877006_missing_view.js')
-rw-r--r--browser/components/customizableui/test/browser_877006_missing_view.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/browser/components/customizableui/test/browser_877006_missing_view.js b/browser/components/customizableui/test/browser_877006_missing_view.js
new file mode 100644
index 0000000000..c01d2f7b35
--- /dev/null
+++ b/browser/components/customizableui/test/browser_877006_missing_view.js
@@ -0,0 +1,46 @@
+/* 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";
+
+// Should be able to add broken view widget
+add_task(function testAddbrokenViewWidget() {
+ const kWidgetId = "test-877006-broken-widget";
+ let widgetSpec = {
+ id: kWidgetId,
+ type: "view",
+ viewId: "idontexist",
+ /* Empty handler so we try to attach it maybe? */
+ onViewShowing() {},
+ };
+
+ let noError = true;
+ try {
+ CustomizableUI.createWidget(widgetSpec);
+ CustomizableUI.addWidgetToArea(kWidgetId, CustomizableUI.AREA_NAVBAR);
+ } catch (ex) {
+ console.error(ex);
+ noError = false;
+ }
+ ok(
+ noError,
+ "Should not throw an exception trying to add a broken view widget."
+ );
+
+ noError = true;
+ try {
+ CustomizableUI.destroyWidget(kWidgetId);
+ } catch (ex) {
+ console.error(ex);
+ noError = false;
+ }
+ ok(
+ noError,
+ "Should not throw an exception trying to remove the broken view widget."
+ );
+});
+
+add_task(async function asyncCleanup() {
+ await resetCustomization();
+});