1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/toolkit/mozapps/extensions/test/xpcshell/test_install_icons.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,61 @@ 1.4 +/* Any copyright is dedicated to the Public Domain. 1.5 + * http://creativecommons.org/publicdomain/zero/1.0/ 1.6 + */ 1.7 + 1.8 +// use httpserver to find an available port 1.9 +Components.utils.import("resource://testing-common/httpd.js"); 1.10 +var gServer = new HttpServer(); 1.11 +gServer.start(-1); 1.12 +gPort = gServer.identity.primaryPort; 1.13 + 1.14 +var addon_url = "http://localhost:" + gPort + "/test.xpi"; 1.15 +var icon32_url = "http://localhost:" + gPort + "/icon.png"; 1.16 +var icon64_url = "http://localhost:" + gPort + "/icon64.png"; 1.17 + 1.18 +function run_test() { 1.19 + do_test_pending(); 1.20 + createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2"); 1.21 + startupManager(); 1.22 + 1.23 + test_1(); 1.24 +} 1.25 + 1.26 +function test_1() { 1.27 + AddonManager.getInstallForURL(addon_url, function(aInstall) { 1.28 + do_check_eq(aInstall.iconURL, null); 1.29 + do_check_neq(aInstall.icons, null); 1.30 + do_check_eq(aInstall.icons[32], undefined); 1.31 + do_check_eq(aInstall.icons[64], undefined); 1.32 + test_2(); 1.33 + }, "application/x-xpinstall", null, null, null, null, null); 1.34 +} 1.35 + 1.36 +function test_2() { 1.37 + AddonManager.getInstallForURL(addon_url, function(aInstall) { 1.38 + do_check_eq(aInstall.iconURL, icon32_url); 1.39 + do_check_neq(aInstall.icons, null); 1.40 + do_check_eq(aInstall.icons[32], icon32_url); 1.41 + do_check_eq(aInstall.icons[64], undefined); 1.42 + test_3(); 1.43 + }, "application/x-xpinstall", null, null, icon32_url, null, null); 1.44 +} 1.45 + 1.46 +function test_3() { 1.47 + AddonManager.getInstallForURL(addon_url, function(aInstall) { 1.48 + do_check_eq(aInstall.iconURL, icon32_url); 1.49 + do_check_neq(aInstall.icons, null); 1.50 + do_check_eq(aInstall.icons[32], icon32_url); 1.51 + do_check_eq(aInstall.icons[64], undefined); 1.52 + test_4(); 1.53 + }, "application/x-xpinstall", null, null, { "32": icon32_url }, null, null); 1.54 +} 1.55 + 1.56 +function test_4() { 1.57 + AddonManager.getInstallForURL(addon_url, function(aInstall) { 1.58 + do_check_eq(aInstall.iconURL, icon32_url); 1.59 + do_check_neq(aInstall.icons, null); 1.60 + do_check_eq(aInstall.icons[32], icon32_url); 1.61 + do_check_eq(aInstall.icons[64], icon64_url); 1.62 + do_execute_soon(do_test_finished); 1.63 + }, "application/x-xpinstall", null, null, { "32": icon32_url, "64": icon64_url }, null, null); 1.64 +}