|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 * http://creativecommons.org/publicdomain/zero/1.0/ |
|
3 */ |
|
4 |
|
5 // This just verifies that the EM can actually startup and shutdown a few times |
|
6 // without any errors |
|
7 |
|
8 // We have to look up how many add-ons are present since there will be plugins |
|
9 // etc. detected |
|
10 var gCount; |
|
11 |
|
12 function run_test() { |
|
13 do_test_pending(); |
|
14 createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2"); |
|
15 |
|
16 var count = 0; |
|
17 startupManager(); |
|
18 AddonManager.getAddonsByTypes(null, function(list) { |
|
19 gCount = list.length; |
|
20 |
|
21 do_execute_soon(run_test_1); |
|
22 }); |
|
23 } |
|
24 |
|
25 function run_test_1() { |
|
26 restartManager(); |
|
27 |
|
28 AddonManager.getAddonsByTypes(null, function(addons) { |
|
29 do_check_eq(gCount, addons.length); |
|
30 |
|
31 AddonManager.getAddonsWithOperationsByTypes(null, function(pendingAddons) { |
|
32 do_check_eq(0, pendingAddons.length); |
|
33 |
|
34 do_execute_soon(run_test_2); |
|
35 }); |
|
36 }); |
|
37 } |
|
38 |
|
39 function run_test_2() { |
|
40 shutdownManager(); |
|
41 |
|
42 startupManager(false); |
|
43 |
|
44 AddonManager.getAddonsByTypes(null, function(addons) { |
|
45 do_check_eq(gCount, addons.length); |
|
46 |
|
47 do_execute_soon(run_test_3); |
|
48 }); |
|
49 } |
|
50 |
|
51 function run_test_3() { |
|
52 restartManager(); |
|
53 |
|
54 AddonManager.getAddonsByTypes(null, callback_soon(function(addons) { |
|
55 do_check_eq(gCount, addons.length); |
|
56 do_test_finished(); |
|
57 })); |
|
58 } |