summaryrefslogtreecommitdiffstats
path: root/chrome/test/data/extensions
diff options
context:
space:
mode:
authorasargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-30 05:10:46 +0000
committerasargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-30 05:10:46 +0000
commit7596ce72af88e6934be4aaa9d38a2deca96b095d (patch)
treec18fb9f40fa61d7dcfc70c6f8687289cf93d233a /chrome/test/data/extensions
parent13a33c1a7d2a0707fc2df1e76d14685ce944281b (diff)
downloadchromium_src-7596ce72af88e6934be4aaa9d38a2deca96b095d.zip
chromium_src-7596ce72af88e6934be4aaa9d38a2deca96b095d.tar.gz
chromium_src-7596ce72af88e6934be4aaa9d38a2deca96b095d.tar.bz2
Implement events for extensions management API.
BUG=51178 TEST=The events described in the experimental.management API should fire for extensions and apps being installed, uninstalled, enabled, and disabled. Review URL: http://codereview.chromium.org/3278003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57831 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/data/extensions')
-rw-r--r--chrome/test/data/extensions/api_test/management/test/basics.js29
-rw-r--r--chrome/test/data/extensions/api_test/management/test/common.js2
-rw-r--r--chrome/test/data/extensions/api_test/management/test/uninstall.js11
-rw-r--r--chrome/test/data/extensions/management/install_event/background.html1
-rw-r--r--chrome/test/data/extensions/management/install_event/manifest.json7
-rw-r--r--chrome/test/data/extensions/management/install_event/test.js15
6 files changed, 47 insertions, 18 deletions
diff --git a/chrome/test/data/extensions/api_test/management/test/basics.js b/chrome/test/data/extensions/api_test/management/test/basics.js
index ea5fc23..c998ca3d 100644
--- a/chrome/test/data/extensions/api_test/management/test/basics.js
+++ b/chrome/test/data/extensions/api_test/management/test/basics.js
@@ -17,8 +17,7 @@ function checkIcon(item, size, path) {
var tests = [
function simple() {
- chrome.management.getAll(function(items) {
- assertNoLastError();
+ chrome.management.getAll(callback(function(items) {
chrome.test.assertEq(5, items.length);
checkItem(items, "Extension Management API Test", true, false);
@@ -36,33 +35,35 @@ var tests = [
checkIcon(extension, 128, "icon_128.png");
checkIcon(extension, 48, "icon_48.png");
checkIcon(extension, 16, "icon_16.png");
-
- succeed();
- });
+ }));
},
// Disables an enabled app.
function disable() {
- chrome.management.getAll(function(items) {
- assertNoLastError();
+ listenOnce(chrome.management.onDisabled, function(info) {
+ assertEq(info.name, "enabled_app");
+ });
+
+ chrome.management.getAll(callback(function(items) {
checkItem(items, "enabled_app", true, true);
var enabled_app = getItemNamed(items, "enabled_app");
chrome.management.setEnabled(enabled_app.id, false, function() {
assertNoLastError();
chrome.management.getAll(function(items2) {
assertNoLastError();
- chrome.test.log("re-checking enabled_app");
checkItem(items2, "enabled_app", false, true);
- succeed();
+ assertTrue(event_fired);
});
});
- });
+ }));
},
// Enables a disabled extension.
function enable() {
- chrome.management.getAll(function(items) {
- assertNoLastError();
+ listenOnce(chrome.management.onEnabled, function(info) {
+ assertEq(info.name, "disabled_extension");
+ });
+ chrome.management.getAll(callback(function(items) {
checkItem(items, "disabled_extension", false, false);
var disabled = getItemNamed(items, "disabled_extension");
chrome.management.setEnabled(disabled.id, true, function() {
@@ -70,10 +71,10 @@ var tests = [
chrome.management.getAll(function(items2) {
assertNoLastError();
checkItem(items2, "disabled_extension", true, false);
- succeed();
+ assertTrue(event_fired);
});
});
- });
+ }));
}
];
diff --git a/chrome/test/data/extensions/api_test/management/test/common.js b/chrome/test/data/extensions/api_test/management/test/common.js
index 6385599..744ced4 100644
--- a/chrome/test/data/extensions/api_test/management/test/common.js
+++ b/chrome/test/data/extensions/api_test/management/test/common.js
@@ -12,6 +12,8 @@ var assertNoLastError = chrome.test.assertNoLastError;
var assertTrue = chrome.test.assertTrue;
var fail = chrome.test.fail;
var succeed = chrome.test.succeed;
+var listenOnce = chrome.test.listenOnce;
+var callback = chrome.test.callback;
function getItemNamed(list, name) {
for (var i = 0; i < list.length; i++) {
diff --git a/chrome/test/data/extensions/api_test/management/test/uninstall.js b/chrome/test/data/extensions/api_test/management/test/uninstall.js
index e4a120b..f425c8e 100644
--- a/chrome/test/data/extensions/api_test/management/test/uninstall.js
+++ b/chrome/test/data/extensions/api_test/management/test/uninstall.js
@@ -3,8 +3,11 @@
// found in the LICENSE file.
function uninstall(name) {
- chrome.management.getAll(function(items) {
- assertNoLastError();
+ listenOnce(chrome.management.onUninstalled, function(info) {
+ assertEq(info.name, name);
+ });
+
+ chrome.management.getAll(callback(function(items) {
var old_count = items.length;
var item = getItemNamed(items, name);
chrome.management.uninstall(item.id, function() {
@@ -15,10 +18,10 @@ function uninstall(name) {
for (var i = 0; i < items2.length; i++) {
assertFalse(items2[i].name == name);
}
- succeed();
+ assertTrue(event_fired);
});
});
- });
+ }));
}
var tests = [
diff --git a/chrome/test/data/extensions/management/install_event/background.html b/chrome/test/data/extensions/management/install_event/background.html
new file mode 100644
index 0000000..46f4d74
--- /dev/null
+++ b/chrome/test/data/extensions/management/install_event/background.html
@@ -0,0 +1 @@
+<script src="test.js"></script>
diff --git a/chrome/test/data/extensions/management/install_event/manifest.json b/chrome/test/data/extensions/management/install_event/manifest.json
new file mode 100644
index 0000000..79a5831
--- /dev/null
+++ b/chrome/test/data/extensions/management/install_event/manifest.json
@@ -0,0 +1,7 @@
+{
+ "name": "Install event test",
+ "version": "0.1",
+ "permissions": ["experimental"],
+ "background_page": "background.html"
+}
+
diff --git a/chrome/test/data/extensions/management/install_event/test.js b/chrome/test/data/extensions/management/install_event/test.js
new file mode 100644
index 0000000..09ef1c4
--- /dev/null
+++ b/chrome/test/data/extensions/management/install_event/test.js
@@ -0,0 +1,15 @@
+// Copyright (c) 2010 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.
+
+if (!chrome.management) {
+ chrome.management = chrome.experimental.management;
+}
+
+chrome.management.onInstalled.addListener(function(info) {
+ if (info.name == "enabled_extension") {
+ chrome.test.sendMessage("got_event");
+ }
+});
+
+chrome.test.sendMessage("ready");