summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/extensions/test/xpcshell/test_systemaddomstartupprefs.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/extensions/test/xpcshell/test_systemaddomstartupprefs.js')
-rw-r--r--toolkit/mozapps/extensions/test/xpcshell/test_systemaddomstartupprefs.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_systemaddomstartupprefs.js b/toolkit/mozapps/extensions/test/xpcshell/test_systemaddomstartupprefs.js
new file mode 100644
index 0000000000..fb45d60ff8
--- /dev/null
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_systemaddomstartupprefs.js
@@ -0,0 +1,55 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+// This verifies that system addon about:config prefs
+// are honored during startup/restarts/upgrades.
+createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "2");
+
+let distroDir = FileUtils.getDir("ProfD", ["sysfeatures", "empty"], true);
+registerDirectory("XREAppFeat", distroDir);
+
+AddonTestUtils.usePrivilegedSignatures = "system";
+
+add_task(initSystemAddonDirs);
+
+BootstrapMonitor.init();
+
+add_task(async function setup() {
+ let xpi = await getSystemAddonXPI(1, "1.0");
+ await AddonTestUtils.manuallyInstall(xpi, distroDir);
+});
+
+add_task(async function systemAddonPreffedOff() {
+ const id = "system1@tests.mozilla.org";
+ Services.prefs.setBoolPref("extensions.system1.enabled", false);
+
+ await overrideBuiltIns({ system: [id] });
+
+ await promiseStartupManager();
+
+ BootstrapMonitor.checkInstalled(id);
+ BootstrapMonitor.checkNotStarted(id);
+
+ await promiseRestartManager();
+
+ BootstrapMonitor.checkNotStarted(id);
+
+ await promiseShutdownManager({ clearOverrides: false });
+});
+
+add_task(async function systemAddonPreffedOn() {
+ const id = "system1@tests.mozilla.org";
+ Services.prefs.setBoolPref("extensions.system1.enabled", true);
+
+ await promiseStartupManager("2.0");
+
+ BootstrapMonitor.checkInstalled(id);
+ BootstrapMonitor.checkStarted(id);
+
+ await promiseRestartManager();
+
+ BootstrapMonitor.checkStarted(id);
+
+ await promiseShutdownManager();
+});