summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/update/tests/browser/browser_aboutDialog_internalError.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/update/tests/browser/browser_aboutDialog_internalError.js')
-rw-r--r--toolkit/mozapps/update/tests/browser/browser_aboutDialog_internalError.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/toolkit/mozapps/update/tests/browser/browser_aboutDialog_internalError.js b/toolkit/mozapps/update/tests/browser/browser_aboutDialog_internalError.js
new file mode 100644
index 0000000000..d8d20ea05a
--- /dev/null
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutDialog_internalError.js
@@ -0,0 +1,35 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+ChromeUtils.defineESModuleGetters(this, {
+ AppUpdater: "resource://gre/modules/AppUpdater.sys.mjs",
+ sinon: "resource://testing-common/Sinon.sys.mjs",
+});
+
+add_setup(function setup_internalErrorTest() {
+ const sandbox = sinon.createSandbox();
+ sandbox.stub(AppUpdater.prototype, "aus").get(() => {
+ throw new Error("intentional test error");
+ });
+ sandbox.stub(AppUpdater.prototype, "checker").get(() => {
+ throw new Error("intentional test error");
+ });
+ sandbox.stub(AppUpdater.prototype, "um").get(() => {
+ throw new Error("intentional test error");
+ });
+ registerCleanupFunction(() => {
+ sandbox.restore();
+ });
+});
+
+// Test for the About dialog's internal error handling.
+add_task(async function aboutDialog_internalError() {
+ let params = {};
+ await runAboutDialogUpdateTest(params, [
+ {
+ panelId: "internalError",
+ },
+ ]);
+});