1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2");
function run_test() {
run_next_test();
}
add_task(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);
do_print("Starting manager...");
startupManager();
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;
do_print("Shutting down manager...");
let shutdownPromise = promiseShutdownManager();
equal(AddonManager.isReady, false, "isReady should be false when shutdown commences");
yield shutdownPromise;
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;
do_print("Starting manager again...");
startupManager();
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");
});
|