| OLD | NEW |
| (Empty) | |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 var callback = chrome.test.callback; |
| 6 |
| 7 // The names of the extensions to operate on, from their manifest.json files. |
| 8 var ENABLED_NAME = 'enabled_extension'; |
| 9 var DISABLED_NAME = 'disabled_extension'; |
| 10 var UNINSTALL_NAME = 'enabled_extension'; |
| 11 |
| 12 // Given a list of extension |items|, finds the one with the given |name|. |
| 13 function findByName(items, name) { |
| 14 chrome.test.assertEq(7, items.length); |
| 15 var item; |
| 16 for (var i = 0; i < items.length; i++) { |
| 17 item = items[i]; |
| 18 if (item.name == name) |
| 19 break; |
| 20 } |
| 21 if (name != item.name) |
| 22 chrome.test.fail('Couldn\'t find installed extension ' + name); |
| 23 return item; |
| 24 } |
| 25 |
| 26 var tests = [ |
| 27 // Tests disabling an extension, expecting it to succeed. |
| 28 function allowedDisable() { |
| 29 chrome.management.getAll(callback(function(items) { |
| 30 var item = findByName(items, ENABLED_NAME); |
| 31 console.log(item); |
| 32 chrome.test.assertEq(true, item.mayDisable); |
| 33 chrome.test.assertEq(true, item.enabled); |
| 34 |
| 35 var id = item.id; |
| 36 chrome.management.setEnabled(id, false, callback(function() { |
| 37 chrome.management.get(id, callback(function(same_extension) { |
| 38 chrome.test.assertEq(false, same_extension.enabled); |
| 39 })); |
| 40 })); |
| 41 })); |
| 42 }, |
| 43 |
| 44 // Tests enabling an extension, expecting it to succeed. |
| 45 function allowedEnable() { |
| 46 chrome.management.getAll(callback(function(items) { |
| 47 var item = findByName(items, DISABLED_NAME); |
| 48 chrome.test.assertEq(true, item.mayDisable); |
| 49 chrome.test.assertEq(false, item.enabled); |
| 50 |
| 51 var id = item.id; |
| 52 chrome.management.setEnabled(id, true, callback(function() { |
| 53 chrome.management.get(id, callback(function(same_extension) { |
| 54 chrome.test.assertEq(true, same_extension.enabled); |
| 55 })); |
| 56 })); |
| 57 })); |
| 58 }, |
| 59 |
| 60 // Tests uninstalling an extension, expecting it to succeed. |
| 61 function allowedUninstall() { |
| 62 chrome.management.getAll(callback(function(items) { |
| 63 var item = findByName(items, UNINSTALL_NAME); |
| 64 chrome.test.assertEq(true, item.mayDisable); |
| 65 |
| 66 var id = item.id; |
| 67 chrome.management.uninstall(id, callback(function() { |
| 68 chrome.test.assertNoLastError(); |
| 69 // The calling api test will verify that the item was uninstalled. |
| 70 })); |
| 71 })); |
| 72 } |
| 73 ]; |
| 74 |
| 75 chrome.test.runTests(tests); |
| OLD | NEW |