|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 // This test verifies that install of restartless extensions syncs to |
|
5 // other profiles. |
|
6 EnableEngines(["addons"]); |
|
7 |
|
8 let phases = { |
|
9 "phase01": "profile1", |
|
10 "phase02": "profile2", |
|
11 "phase03": "profile1", |
|
12 "phase04": "profile2", |
|
13 "phase05": "profile1", |
|
14 "phase06": "profile2", |
|
15 "phase07": "profile1", |
|
16 "phase08": "profile2" |
|
17 }; |
|
18 |
|
19 const id = "restartless-xpi@tests.mozilla.org"; |
|
20 |
|
21 // Verify install is synced |
|
22 Phase("phase01", [ |
|
23 [Addons.verifyNot, [id]], |
|
24 [Addons.install, [id]], |
|
25 [Addons.verify, [id], STATE_ENABLED], |
|
26 [Sync] |
|
27 ]); |
|
28 Phase("phase02", [ |
|
29 [Addons.verifyNot, [id]], |
|
30 [Sync], |
|
31 [Addons.verify, [id], STATE_ENABLED] |
|
32 ]); |
|
33 |
|
34 // Now disable and see that is is synced. |
|
35 Phase("phase03", [ |
|
36 [EnsureTracking], |
|
37 [Addons.setEnabled, [id], STATE_DISABLED], |
|
38 [Addons.verify, [id], STATE_DISABLED], |
|
39 [Sync] |
|
40 ]); |
|
41 Phase("phase04", [ |
|
42 [Sync], |
|
43 [Addons.verify, [id], STATE_DISABLED] |
|
44 ]); |
|
45 |
|
46 // Enable and see it is synced. |
|
47 Phase("phase05", [ |
|
48 [EnsureTracking], |
|
49 [Addons.setEnabled, [id], STATE_ENABLED], |
|
50 [Addons.verify, [id], STATE_ENABLED], |
|
51 [Sync] |
|
52 ]); |
|
53 Phase("phase06", [ |
|
54 [Sync], |
|
55 [Addons.verify, [id], STATE_ENABLED] |
|
56 ]); |
|
57 |
|
58 // Uninstall and see it is synced. |
|
59 Phase("phase07", [ |
|
60 [EnsureTracking], |
|
61 [Addons.verify, [id], STATE_ENABLED], |
|
62 [Addons.uninstall, [id]], |
|
63 [Addons.verifyNot, [id]], |
|
64 [Sync] |
|
65 ]); |
|
66 Phase("phase08", [ |
|
67 [Addons.verify, [id], STATE_ENABLED], |
|
68 [Sync], |
|
69 [Addons.verifyNot, [id]] |
|
70 ]); |