test_addon_webext_xpi.js (1573B)
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 web extensions sync to other profiles. 5 // It's more or less copied from test_addon_restartless_xpi with a different id. 6 7 EnableEngines(["addons"]); 8 9 var phases = { 10 phase01: "profile1", 11 phase02: "profile2", 12 phase03: "profile1", 13 phase04: "profile2", 14 phase05: "profile1", 15 phase06: "profile2", 16 phase07: "profile1", 17 phase08: "profile2", 18 }; 19 20 const id = "test-webext@quality.mozilla.org"; 21 22 // Verify install is synced 23 Phase("phase01", [ 24 [Addons.verifyNot, [id]], 25 [Addons.install, [id]], 26 [Addons.verify, [id], STATE_ENABLED], 27 [Sync], 28 ]); 29 Phase("phase02", [ 30 [Addons.verifyNot, [id]], 31 [Sync], 32 [Addons.verify, [id], STATE_ENABLED], 33 ]); 34 35 // Now disable and see that is is synced. 36 Phase("phase03", [ 37 [EnsureTracking], 38 [Addons.setEnabled, [id], STATE_DISABLED], 39 [Addons.verify, [id], STATE_DISABLED], 40 [Sync], 41 ]); 42 Phase("phase04", [[Sync], [Addons.verify, [id], STATE_DISABLED]]); 43 44 // Enable and see it is synced. 45 Phase("phase05", [ 46 [EnsureTracking], 47 [Addons.setEnabled, [id], STATE_ENABLED], 48 [Addons.verify, [id], STATE_ENABLED], 49 [Sync], 50 ]); 51 Phase("phase06", [[Sync], [Addons.verify, [id], STATE_ENABLED]]); 52 53 // Uninstall and see it is synced. 54 Phase("phase07", [ 55 [EnsureTracking], 56 [Addons.verify, [id], STATE_ENABLED], 57 [Addons.uninstall, [id]], 58 [Addons.verifyNot, [id]], 59 [Sync], 60 ]); 61 Phase("phase08", [ 62 [Addons.verify, [id], STATE_ENABLED], 63 [Sync], 64 [Addons.verifyNot, [id]], 65 ]);