| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 suite('<bookmarks-command-manager>', function() { | 5 suite('<bookmarks-command-manager>', function() { |
| 6 var commandManager; | 6 var commandManager; |
| 7 var store; | 7 var store; |
| 8 var lastCommand; | 8 var lastCommand; |
| 9 var lastCommandIds; | 9 var lastCommandIds; |
| 10 | 10 |
| 11 function assertLastCommand(command, ids) { | 11 function assertLastCommand(command, ids) { |
| 12 assertEquals(lastCommand, command); | 12 assertEquals(lastCommand, command); |
| 13 if (ids) | 13 if (ids) |
| 14 assertDeepEquals(normalizeSet(lastCommandIds), ids); | 14 assertDeepEquals(normalizeSet(lastCommandIds), ids); |
| 15 lastCommand = null; | 15 lastCommand = null; |
| 16 lastCommandIds = null; | 16 lastCommandIds = null; |
| 17 } | 17 } |
| 18 | 18 |
| 19 suiteSetup(function() { | 19 suiteSetup(function() { |
| 20 // Overwrite bookmarkManagerPrivate APIs which will crash if called with | 20 // Overwrite bookmarkManagerPrivate APIs which will crash if called with |
| 21 // fake data. | 21 // fake data. |
| 22 chrome.bookmarkManagerPrivate.copy = function() {}; | 22 chrome.bookmarkManagerPrivate.copy = function() {}; |
| 23 chrome.bookmarkManagerPrivate.removeTrees = function() {}; | 23 chrome.bookmarkManagerPrivate.removeTrees = function() {}; |
| 24 }); | 24 }); |
| 25 | 25 |
| 26 setup(function() { | 26 setup(function() { |
| 27 store = new bookmarks.TestStore({ | 27 store = new bookmarks.TestStore({ |
| 28 nodes: testTree(createFolder( | 28 nodes: testTree( |
| 29 '1', | 29 createFolder( |
| 30 [ | 30 '1', |
| 31 createFolder('11', []), | 31 [ |
| 32 createFolder('12', []), | 32 createFolder( |
| 33 createItem('13'), | 33 '11', |
| 34 ])), | 34 [ |
| 35 createItem('111'), |
| 36 ]), |
| 37 createFolder('12', []), |
| 38 createItem('13'), |
| 39 ]), |
| 40 createFolder('2', [])), |
| 35 }); | 41 }); |
| 36 bookmarks.Store.instance_ = store; | 42 bookmarks.Store.instance_ = store; |
| 37 | 43 |
| 38 commandManager = document.createElement('bookmarks-command-manager'); | 44 commandManager = document.createElement('bookmarks-command-manager'); |
| 39 | 45 |
| 40 var realHandle = commandManager.handle.bind(commandManager); | 46 var realHandle = commandManager.handle.bind(commandManager); |
| 41 commandManager.handle = function(command, itemIds) { | 47 commandManager.handle = function(command, itemIds) { |
| 42 lastCommand = command; | 48 lastCommand = command; |
| 43 lastCommandIds = itemIds; | 49 lastCommandIds = itemIds; |
| 44 realHandle(command, itemIds); | 50 realHandle(command, itemIds); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 test('edit command triggers', function() { | 110 test('edit command triggers', function() { |
| 105 var key = cr.isMac ? 'Enter' : 'F2'; | 111 var key = cr.isMac ? 'Enter' : 'F2'; |
| 106 var keyCode = cr.isMac ? 13 : 113; | 112 var keyCode = cr.isMac ? 13 : 113; |
| 107 | 113 |
| 108 store.data.selection.items = new Set(['11']); | 114 store.data.selection.items = new Set(['11']); |
| 109 store.notifyObservers(); | 115 store.notifyObservers(); |
| 110 | 116 |
| 111 MockInteractions.pressAndReleaseKeyOn(document, keyCode, '', key); | 117 MockInteractions.pressAndReleaseKeyOn(document, keyCode, '', key); |
| 112 assertLastCommand('edit', ['11']); | 118 assertLastCommand('edit', ['11']); |
| 113 }); | 119 }); |
| 120 |
| 121 test('does not delete children at same time as ancestor', function() { |
| 122 var lastDelete = null; |
| 123 chrome.bookmarkManagerPrivate.removeTrees = function(idArray) { |
| 124 lastDelete = idArray.sort(); |
| 125 }; |
| 126 |
| 127 var parentAndChildren = new Set(['1', '2', '12', '111']); |
| 128 assertTrue(commandManager.canExecute(Command.DELETE, parentAndChildren)); |
| 129 commandManager.handle(Command.DELETE, parentAndChildren); |
| 130 |
| 131 assertDeepEquals(['1', '2'], lastDelete); |
| 132 }); |
| 114 }); | 133 }); |
| OLD | NEW |