OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 function makeAbsoluteUrl(path) { | 5 function makeAbsoluteUrl(path) { |
6 var parts = location.href.split("/"); | 6 var parts = location.href.split("/"); |
7 parts.pop(); | 7 parts.pop(); |
8 parts.push(path); | 8 parts.push(path); |
9 return parts.join("/"); | 9 return parts.join("/"); |
10 } | 10 } |
11 | 11 |
| 12 // The |absoluteIconUrl| parameter controls whether to use a relative or |
| 13 // absolute url for the test. |
| 14 function runSuccessTest(absoluteIconUrl, manifest) { |
| 15 var iconPath = "extension/icon.png"; |
| 16 var iconUrl = absoluteIconUrl ? makeAbsoluteUrl(iconPath) : iconPath; |
| 17 installAndCleanUp( |
| 18 {'id': extensionId,'iconUrl': iconUrl, 'manifest': manifest }, |
| 19 function() {}); |
| 20 } |
| 21 |
12 var tests = [ | 22 var tests = [ |
13 function IconUrlFailure() { | 23 function IconUrlFailure() { |
14 var manifest = getManifest(); | 24 var manifest = getManifest(); |
15 var loadFailureUrl = makeAbsoluteUrl("does_not_exist.png"); | 25 var loadFailureUrl = makeAbsoluteUrl("does_not_exist.png"); |
16 chrome.webstorePrivate.beginInstallWithManifest3( | 26 chrome.webstorePrivate.beginInstallWithManifest3( |
17 {'id': extensionId,'iconUrl': loadFailureUrl, 'manifest': manifest }, | 27 {'id': extensionId,'iconUrl': loadFailureUrl, 'manifest': manifest }, |
18 callbackFail("Image decode failed", function(result) { | 28 callbackFail("Image decode failed", function(result) { |
19 assertEq(result, "icon_error"); | 29 assertEq(result, "icon_error"); |
20 })); | 30 })); |
21 }, | 31 }, |
22 | 32 |
23 function IconUrlSuccess() { | 33 function IconUrlSuccess() { |
24 var manifest = getManifest(); | 34 var manifest = getManifest(); |
| 35 runSuccessTest(false, manifest); |
| 36 }, |
25 | 37 |
26 // The |absoluteIconUrl| parameter controls whether to use a relative or | 38 function IconUrlSuccessAbsoluteUrl() { |
27 // absolute url for the test. | 39 var manifest = getManifest(); |
28 function runSuccessTest(absoluteIconUrl) { | 40 runSuccessTest(true, manifest); |
29 var iconPath = "extension/icon.png"; | |
30 var iconUrl = absoluteIconUrl ? makeAbsoluteUrl(iconPath) : iconPath; | |
31 chrome.webstorePrivate.beginInstallWithManifest3( | |
32 {'id': extensionId,'iconUrl': iconUrl, 'manifest': manifest }, | |
33 callbackPass()); | |
34 } | |
35 runSuccessTest(true); | |
36 runSuccessTest(false); | |
37 } | 41 } |
38 ]; | 42 ]; |
39 | 43 |
40 runTests(tests); | 44 runTests(tests); |
OLD | NEW |