71 lines
1.7 KiB
JavaScript
71 lines
1.7 KiB
JavaScript
createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2");
|
|
|
|
add_task(async function () {
|
|
equal(AddonManager.isReady, false, "isReady should be false before startup");
|
|
|
|
let gotStartupEvent = false;
|
|
let gotShutdownEvent = false;
|
|
let listener = {
|
|
onStartup() {
|
|
gotStartupEvent = true;
|
|
},
|
|
onShutdown() {
|
|
gotShutdownEvent = true;
|
|
},
|
|
};
|
|
AddonManager.addManagerListener(listener);
|
|
|
|
info("Starting manager...");
|
|
await promiseStartupManager();
|
|
equal(AddonManager.isReady, true, "isReady should be true after startup");
|
|
equal(
|
|
gotStartupEvent,
|
|
true,
|
|
"Should have seen onStartup event after startup"
|
|
);
|
|
equal(
|
|
gotShutdownEvent,
|
|
false,
|
|
"Should not have seen onShutdown event before shutdown"
|
|
);
|
|
|
|
gotStartupEvent = false;
|
|
gotShutdownEvent = false;
|
|
|
|
info("Shutting down manager...");
|
|
await promiseShutdownManager();
|
|
|
|
equal(AddonManager.isReady, false, "isReady should be false after shutdown");
|
|
equal(
|
|
gotStartupEvent,
|
|
false,
|
|
"Should not have seen onStartup event after shutdown"
|
|
);
|
|
equal(
|
|
gotShutdownEvent,
|
|
true,
|
|
"Should have seen onShutdown event after shutdown"
|
|
);
|
|
|
|
AddonManager.addManagerListener(listener);
|
|
gotStartupEvent = false;
|
|
gotShutdownEvent = false;
|
|
|
|
info("Starting manager again...");
|
|
await promiseStartupManager();
|
|
equal(
|
|
AddonManager.isReady,
|
|
true,
|
|
"isReady should be true after repeat startup"
|
|
);
|
|
equal(
|
|
gotStartupEvent,
|
|
true,
|
|
"Should have seen onStartup event after repeat startup"
|
|
);
|
|
equal(
|
|
gotShutdownEvent,
|
|
false,
|
|
"Should not have seen onShutdown event before shutdown, following repeat startup"
|
|
);
|
|
});
|