Index: chrome/test/data/extensions/api_test/webstore_private/bundle/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.crx |
diff --git a/chrome/test/data/extensions/api_test/webstore_private/bundle/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.crx b/chrome/test/data/extensions/api_test/webstore_private/bundle/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.crx |
new file mode 100644 |
index 0000000000000000000000000000000000000000..da289748cf1062a6dfee735ecff16ad8cd04b3c4 |
--- /dev/null |
+++ b/chrome/test/data/extensions/api_test/webstore_private/bundle/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.crx |
@@ -0,0 +1,80 @@ |
+<!-- |
+ * Copyright (c) 2012 The Chromium Authors. All rights reserved. Use of this |
+ * source code is governed by a BSD-style license that can be found in the |
+ * LICENSE file. |
+--> |
+<script src="common.js"></script> |
+<script> |
+ |
+var bundleItems = [ |
+ { |
+ id: 'begfmnajjkbjdgmffnjaojchoncnmngg', |
+ manifest: getManifest('bundle/app1.json'), |
+ localizedName: 'app.1' |
+ }, |
+ { |
+ id: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', // Invalid CRX. |
+ manifest: getManifest('bundle/app2.json'), |
+ localizedName: 'app.2' |
+ }, |
+ { |
+ id: 'bmfoocgfinpmkmlbjhcbofejhkhlbchk', // Wrong manifest. |
+ manifest: getManifest('bundle/extension2.json'), |
+ localizedName: 'extension.1' |
+ }, |
+ { |
+ id: 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', // No CRX, 404. |
+ manifest: getManifest('bundle/extension2.json'), |
+ localizedName: 'extension.2' |
+ } |
+]; |
+ |
+var installed = [ |
+ 'begfmnajjkbjdgmffnjaojchoncnmngg' |
+]; |
+ |
+var failed = [ |
+ 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', |
+ 'bmfoocgfinpmkmlbjhcbofejhkhlbchk', |
+ 'pkapffpjmiilhlhbibjhamlmdhfneidj' |
+]; |
+ |
+runTests([ |
+ function partialInstall() { |
+ chrome.webstorePrivate.installBundle( |
+ { localizedName: 'MyBundle' }, |
+ bundleItems, |
+ callbackPass(function() { |
+ installed.forEach(function(id) { |
+ checkItemInstalled( |
+ id, |
+ callbackPass(function(result) { assertTrue(result); })); |
+ }); |
+ failed.forEach(function(id) { |
+ checkItemInstalled( |
+ id, |
+ callbackPass(function(result) { assertFalse(result); })); |
+ }); |
+ })); |
+ }, |
+ |
+ function allItemsFail() { |
+ chrome.webstorePrivate.installBundle( |
+ { localizedName: 'MyBundle' }, |
+ [bundleItems[2]], |
+ callbackPass(function() { |
+ checkItemInstalled( |
+ bundleItems[2].id, |
+ callbackPass(function(result) { assertFalse(result); })); |
+ })); |
+ }, |
+ |
+ function noItems() { |
+ chrome.webstorePrivate.installBundle( |
+ { localizedName: 'MyBundle' }, |
+ [], |
+ callbackFail("Invalid bundle")); |
+ } |
+]); |
+ |
+</script> |