mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 12:25:53 +00:00
Bug 1393621: Part 3 - Add test for framework JSMs loaded at startup. r=zombie
MozReview-Commit-ID: DvVO9bzwyXf --HG-- extra : rebase_source : f04d8f1c08508acef915a493e00fbd7f5020dce8
This commit is contained in:
parent
a15a2a5be1
commit
0c9a3b08ee
@ -6,9 +6,26 @@ const STARTUP_APIS = [
|
||||
"backgroundPage",
|
||||
];
|
||||
|
||||
// Tests that only the minimal set of API scripts are loaded at startup
|
||||
// for a simple extension.
|
||||
add_task(async function test_loaded_api_scripts() {
|
||||
const STARTUP_MODULES = [
|
||||
"resource://gre/modules/Extension.jsm",
|
||||
"resource://gre/modules/ExtensionCommon.jsm",
|
||||
"resource://gre/modules/ExtensionParent.jsm",
|
||||
// FIXME: This is only loaded at startup for new extension installs.
|
||||
// Otherwise the data comes from the startup cache. We should test for
|
||||
// this.
|
||||
"resource://gre/modules/ExtensionPermissions.jsm",
|
||||
"resource://gre/modules/ExtensionUtils.jsm",
|
||||
];
|
||||
|
||||
if (!Services.prefs.getBoolPref("extensions.webextensions.remote")) {
|
||||
STARTUP_MODULES.push(
|
||||
"resource://gre/modules/ExtensionChild.jsm",
|
||||
"resource://gre/modules/ExtensionPageChild.jsm");
|
||||
}
|
||||
|
||||
// Tests that only the minimal set of API scripts and modules are loaded at
|
||||
// startup for a simple extension.
|
||||
add_task(async function test_loaded_scripts() {
|
||||
await ExtensionTestUtils.startAddonManager();
|
||||
|
||||
let extension = ExtensionTestUtils.loadExtension({
|
||||
@ -28,5 +45,13 @@ add_task(async function test_loaded_api_scripts() {
|
||||
deepEqual(loadedAPIs.sort(), STARTUP_APIS,
|
||||
"No extra APIs should be loaded at startup for a simple extension");
|
||||
|
||||
|
||||
const loader = Cc["@mozilla.org/moz/jsloader;1"].getService(Ci.xpcIJSModuleLoader);
|
||||
let loadedModules = loader.loadedModules()
|
||||
.filter(url => url.startsWith("resource://gre/modules/Extension"));
|
||||
|
||||
deepEqual(loadedModules.sort(), STARTUP_MODULES.sort(),
|
||||
"No extra extension modules should be loaded at startup for a simple extension");
|
||||
|
||||
await extension.unload();
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user