| 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 var item; |
| 14 for (var i = 0; i < items.length; i++) { |
| 15 item = items[i]; |
| 16 if (item.name == name) |
| 17 break; |
| 18 } |
| 19 if (name != item.name) |
| 20 chrome.test.fail('Couldn\'t find installed extension ' + name); |
| 21 return item; |
| 22 } |
| 23 |
| 24 function checkEnabled(id, enabled) { |
| 25 chrome.management.get(id, callback(function(result) { |
| 26 chrome.test.assertEq(enabled, result.enabled); |
| 27 })); |
| 28 } |
| 29 |
| 30 var tests = [ |
| 31 function prohibitedDisable() { |
| 32 chrome.management.getAll(callback(function(items) { |
| 33 var item = findByName(items, ENABLED_NAME); |
| 34 chrome.test.assertEq(false, item.mayDisable); |
| 35 chrome.test.assertEq(true, item.enabled); |
| 36 |
| 37 var id = item.id; |
| 38 var expectedError = 'Extension ' + id + ' can not be disabled by user'; |
| 39 chrome.management.setEnabled(id, false, |
| 40 callback(function() { checkEnabled(id, true); }, expectedError)); |
| 41 })); |
| 42 }, |
| 43 |
| 44 function prohibitedEnable() { |
| 45 chrome.management.getAll(callback(function(items) { |
| 46 var item = findByName(items, DISABLED_NAME); |
| 47 chrome.test.assertEq(false, item.mayDisable); |
| 48 chrome.test.assertEq(false, item.enabled); |
| 49 |
| 50 var id = item.id; |
| 51 var expectedError = 'Extension ' + id + ' can not be modified by user'; |
| 52 chrome.management.setEnabled(id, true, |
| 53 callback(function() { checkEnabled(id, false); }, expectedError)); |
| 54 })); |
| 55 }, |
| 56 |
| 57 function prohibitedUninstall() { |
| 58 chrome.management.getAll(callback(function(items) { |
| 59 var item = findByName(items, UNINSTALL_NAME); |
| 60 chrome.test.assertEq(false, item.mayDisable); |
| 61 |
| 62 var id = item.id; |
| 63 var expectedError = 'Extension ' + id + ' can not be disabled by user'; |
| 64 chrome.management.uninstall(id, |
| 65 callback(function() { checkEnabled(id, true); }, expectedError)); |
| 66 })); |
| 67 } |
| 68 ]; |
| 69 |
| 70 chrome.test.runTests(tests); |
| 71 |
| OLD | NEW |