|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 * http://creativecommons.org/publicdomain/zero/1.0/ |
|
3 */ |
|
4 |
|
5 // use httpserver to find an available port |
|
6 Components.utils.import("resource://testing-common/httpd.js"); |
|
7 var gServer = new HttpServer(); |
|
8 gServer.start(-1); |
|
9 gPort = gServer.identity.primaryPort; |
|
10 |
|
11 var addon_url = "http://localhost:" + gPort + "/test.xpi"; |
|
12 var icon32_url = "http://localhost:" + gPort + "/icon.png"; |
|
13 var icon64_url = "http://localhost:" + gPort + "/icon64.png"; |
|
14 |
|
15 function run_test() { |
|
16 do_test_pending(); |
|
17 createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2"); |
|
18 startupManager(); |
|
19 |
|
20 test_1(); |
|
21 } |
|
22 |
|
23 function test_1() { |
|
24 AddonManager.getInstallForURL(addon_url, function(aInstall) { |
|
25 do_check_eq(aInstall.iconURL, null); |
|
26 do_check_neq(aInstall.icons, null); |
|
27 do_check_eq(aInstall.icons[32], undefined); |
|
28 do_check_eq(aInstall.icons[64], undefined); |
|
29 test_2(); |
|
30 }, "application/x-xpinstall", null, null, null, null, null); |
|
31 } |
|
32 |
|
33 function test_2() { |
|
34 AddonManager.getInstallForURL(addon_url, function(aInstall) { |
|
35 do_check_eq(aInstall.iconURL, icon32_url); |
|
36 do_check_neq(aInstall.icons, null); |
|
37 do_check_eq(aInstall.icons[32], icon32_url); |
|
38 do_check_eq(aInstall.icons[64], undefined); |
|
39 test_3(); |
|
40 }, "application/x-xpinstall", null, null, icon32_url, null, null); |
|
41 } |
|
42 |
|
43 function test_3() { |
|
44 AddonManager.getInstallForURL(addon_url, function(aInstall) { |
|
45 do_check_eq(aInstall.iconURL, icon32_url); |
|
46 do_check_neq(aInstall.icons, null); |
|
47 do_check_eq(aInstall.icons[32], icon32_url); |
|
48 do_check_eq(aInstall.icons[64], undefined); |
|
49 test_4(); |
|
50 }, "application/x-xpinstall", null, null, { "32": icon32_url }, null, null); |
|
51 } |
|
52 |
|
53 function test_4() { |
|
54 AddonManager.getInstallForURL(addon_url, function(aInstall) { |
|
55 do_check_eq(aInstall.iconURL, icon32_url); |
|
56 do_check_neq(aInstall.icons, null); |
|
57 do_check_eq(aInstall.icons[32], icon32_url); |
|
58 do_check_eq(aInstall.icons[64], icon64_url); |
|
59 do_execute_soon(do_test_finished); |
|
60 }, "application/x-xpinstall", null, null, { "32": icon32_url, "64": icon64_url }, null, null); |
|
61 } |