| 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 function findByName(items, name) { |
| 13 chrome.test.assertEq(7, items.length); |
| 14 var item; |
| 15 for (var i = 0; i < items.length; i++) { |
| 16 item = items[i]; |
| 17 if (item.name == name) |
| 18 break; |
| 19 } |
| 20 if (name != item.name) |
| 21 chrome.test.fail('Couldn\'t find installed extension ' + name); |
| 22 return item; |
| 23 } |
| 24 |
| 25 var tests = [ |
| 26 function allowedDisable() { |
| 27 chrome.management.getAll(callback(function(items) { |
| 28 var item = findByName(items, ENABLED_NAME); |
| 29 console.log(item); |
| 30 chrome.test.assertEq(true, item.mayDisable); |
| 31 chrome.test.assertEq(true, item.enabled); |
| 32 |
| 33 var id = item.id; |
| 34 chrome.management.setEnabled(id, false, callback(function() { |
| 35 chrome.management.get(id, callback(function(same_extension) { |
| 36 chrome.test.assertEq(false, same_extension.enabled); |
| 37 })); |
| 38 })); |
| 39 })); |
| 40 }, |
| 41 |
| 42 function allowedEnable() { |
| 43 chrome.management.getAll(callback(function(items) { |
| 44 var item = findByName(items, DISABLED_NAME); |
| 45 chrome.test.assertEq(true, item.mayDisable); |
| 46 chrome.test.assertEq(false, item.enabled); |
| 47 |
| 48 var id = item.id; |
| 49 chrome.management.setEnabled(id, true, callback(function() { |
| 50 chrome.management.get(id, callback(function(same_extension) { |
| 51 chrome.test.assertEq(true, same_extension.enabled); |
| 52 })); |
| 53 })); |
| 54 })); |
| 55 }, |
| 56 |
| 57 function allowedUninstall() { |
| 58 chrome.management.getAll(callback(function(items) { |
| 59 var item = findByName(items, UNINSTALL_NAME); |
| 60 chrome.test.assertEq(true, item.mayDisable); |
| 61 |
| 62 var id = item.id; |
| 63 chrome.management.uninstall(id, callback(function() { |
| 64 chrome.test.assertNoLastError(); |
| 65 // The calling api test will verify that the item was uninstalled. |
| 66 })); |
| 67 })); |
| 68 } |
| 69 ]; |
| 70 |
| 71 chrome.test.runTests(tests); |
| OLD | NEW |