65 lines
1.9 KiB
JavaScript
65 lines
1.9 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
|
*/
|
|
|
|
// Enable SCOPE_APPLICATION for builtin testing. Default in tests is only SCOPE_PROFILE.
|
|
let scopes = AddonManager.SCOPE_PROFILE | AddonManager.SCOPE_APPLICATION;
|
|
Services.prefs.setIntPref("extensions.enabledScopes", scopes);
|
|
|
|
// 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"]);
|
|
distroDir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
|
|
registerDirectory("XREAppFeat", distroDir);
|
|
|
|
AddonTestUtils.usePrivilegedSignatures = "system";
|
|
|
|
BootstrapMonitor.init();
|
|
|
|
add_setup(async function setup() {
|
|
await initSystemAddonDirs();
|
|
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({
|
|
builtins: [await getSystemBuiltin(1, "1.0")],
|
|
});
|
|
|
|
await promiseStartupManager("1.0");
|
|
|
|
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 overrideBuiltIns({
|
|
builtins: [await getSystemBuiltin(1, "1.0")],
|
|
});
|
|
|
|
await promiseStartupManager("2.0");
|
|
|
|
BootstrapMonitor.checkInstalled(id);
|
|
BootstrapMonitor.checkStarted(id);
|
|
|
|
await promiseRestartManager();
|
|
|
|
BootstrapMonitor.checkStarted(id);
|
|
|
|
await promiseShutdownManager({ clearOverrides: false });
|
|
});
|