|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 * http://creativecommons.org/publicdomain/zero/1.0/ |
|
3 */ |
|
4 |
|
5 // This verifies that strange characters in an add-on version don't break the |
|
6 // crash annotation. |
|
7 |
|
8 var addon1 = { |
|
9 id: "addon1@tests.mozilla.org", |
|
10 version: "1,0", |
|
11 name: "Test 1", |
|
12 targetApplications: [{ |
|
13 id: "xpcshell@tests.mozilla.org", |
|
14 minVersion: "1", |
|
15 maxVersion: "1" |
|
16 }] |
|
17 }; |
|
18 |
|
19 var addon2 = { |
|
20 id: "addon2@tests.mozilla.org", |
|
21 version: "1:0", |
|
22 name: "Test 2", |
|
23 targetApplications: [{ |
|
24 id: "xpcshell@tests.mozilla.org", |
|
25 minVersion: "1", |
|
26 maxVersion: "1" |
|
27 }] |
|
28 }; |
|
29 |
|
30 var addon3 = { |
|
31 id: "addon3@tests.mozilla.org", |
|
32 version: "1,0", |
|
33 name: "Test 3", |
|
34 bootstrap: true, |
|
35 targetApplications: [{ |
|
36 id: "xpcshell@tests.mozilla.org", |
|
37 minVersion: "1", |
|
38 maxVersion: "1" |
|
39 }] |
|
40 }; |
|
41 |
|
42 var addon4 = { |
|
43 id: "addon4@tests.mozilla.org", |
|
44 version: "1:0", |
|
45 name: "Test 4", |
|
46 bootstrap: true, |
|
47 targetApplications: [{ |
|
48 id: "xpcshell@tests.mozilla.org", |
|
49 minVersion: "1", |
|
50 maxVersion: "1" |
|
51 }] |
|
52 }; |
|
53 |
|
54 createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2"); |
|
55 |
|
56 const profileDir = gProfD.clone(); |
|
57 profileDir.append("extensions"); |
|
58 |
|
59 function run_test() { |
|
60 do_test_pending(); |
|
61 |
|
62 writeInstallRDFForExtension(addon1, profileDir); |
|
63 writeInstallRDFForExtension(addon2, profileDir); |
|
64 writeInstallRDFForExtension(addon3, profileDir); |
|
65 writeInstallRDFForExtension(addon4, profileDir); |
|
66 |
|
67 startupManager(); |
|
68 |
|
69 AddonManager.getAddonsByIDs(["addon1@tests.mozilla.org", |
|
70 "addon2@tests.mozilla.org", |
|
71 "addon3@tests.mozilla.org", |
|
72 "addon4@tests.mozilla.org"], |
|
73 function([a1, a2, a3, a4]) { |
|
74 |
|
75 do_check_neq(a1, null); |
|
76 do_check_in_crash_annotation(addon1.id, addon1.version); |
|
77 do_check_neq(a2, null); |
|
78 do_check_in_crash_annotation(addon2.id, addon2.version); |
|
79 do_check_neq(a3, null); |
|
80 do_check_in_crash_annotation(addon3.id, addon3.version); |
|
81 do_check_neq(a4, null); |
|
82 do_check_in_crash_annotation(addon4.id, addon4.version); |
|
83 |
|
84 do_execute_soon(do_test_finished); |
|
85 }); |
|
86 } |