Source code
Revision control
Copy as Markdown
Other Tools
// Tests that AddonRepository doesn't download results for system add-ons
// 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);
const PREF_GETADDONS_CACHE_ENABLED = "extensions.getAddons.cache.enabled";
createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "0");
var gServer = new HttpServer();
add_setup(() => {
gServer.start(-1);
gServer.registerPathHandler("/get", () => {
do_throw("Unexpected request to server.");
});
registerCleanupFunction(async () => {
await new Promise(resolve => gServer.stop(resolve));
});
});
add_task(async function test_app_addons_systembuiltin() {
Services.prefs.setBoolPref(PREF_GETADDONS_CACHE_ENABLED, true);
Services.prefs.setCharPref(
PREF_GETADDONS_BYIDS,
);
await overrideBuiltIns({
builtins: [
await getSystemBuiltin(1),
await getSystemBuiltin(2),
await getSystemBuiltin(3),
],
});
await promiseStartupManager();
await AddonRepository.cacheAddons([
"system1@tests.mozilla.org",
"system2@tests.mozilla.org",
"system3@tests.mozilla.org",
]);
let cached = await AddonRepository.getCachedAddonByID(
"system1@tests.mozilla.org"
);
Assert.equal(cached, null);
cached = await AddonRepository.getCachedAddonByID(
"system2@tests.mozilla.org"
);
Assert.equal(cached, null);
cached = await AddonRepository.getCachedAddonByID(
"system3@tests.mozilla.org"
);
Assert.equal(cached, null);
await promiseShutdownManager();
});