toolkit/mozapps/extensions/test/xpcshell/test_onPropertyChanged_appDisabled.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:fda1e9227f59
1 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
3
4 const profileDir = gProfD.clone();
5 profileDir.append("extensions");
6
7 function run_test() {
8 do_test_pending();
9 createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2");
10
11 writeInstallRDFForExtension({
12 id: "addon1@tests.mozilla.org",
13 version: "1.0",
14 name: "Test 1",
15 targetApplications: [{
16 id: "xpcshell@tests.mozilla.org",
17 minVersion: "0.1",
18 maxVersion: "0.2"
19 }]
20 }, profileDir);
21
22 startupManager();
23
24 AddonManager.strictCompatibility = false;
25
26 AddonManager.getAddonByID("addon1@tests.mozilla.org", function(aAddon) {
27 do_check_neq(aAddon, null);
28 aAddon.userDisabled = true;
29 do_execute_soon(run_test_1);
30 });
31 }
32
33 function run_test_1() {
34 restartManager();
35 AddonManager.getAddonByID("addon1@tests.mozilla.org", function(aAddon) {
36 do_check_neq(aAddon, null);
37 do_check_true(aAddon.userDisabled);
38 do_check_false(aAddon.isActive);
39 do_check_false(aAddon.appDisabled);
40
41 prepare_test({
42 "addon1@tests.mozilla.org": [
43 ["onPropertyChanged", ["appDisabled"]]
44 ]
45 }, [], run_test_2);
46
47 AddonManager.strictCompatibility = true;
48 });
49 }
50
51 function run_test_2() {
52 AddonManager.getAddonByID("addon1@tests.mozilla.org", function(aAddon) {
53 do_check_neq(aAddon, null);
54 do_check_true(aAddon.userDisabled);
55 do_check_false(aAddon.isActive);
56 do_check_true(aAddon.appDisabled);
57
58 prepare_test({
59 "addon1@tests.mozilla.org": [
60 ["onPropertyChanged", ["appDisabled"]]
61 ]
62 }, [], callback_soon(do_test_finished));
63
64 AddonManager.strictCompatibility = false;
65 });
66 }

mercurial