Index: chrome/test/data/webui/md_bookmarks/command_manager_test.js |
diff --git a/chrome/test/data/webui/md_bookmarks/command_manager_test.js b/chrome/test/data/webui/md_bookmarks/command_manager_test.js |
index c0b993b10b610861bd39a54401e8f121f881077f..14b6d28203d7f0f0c18cf5733f94c425882cb120 100644 |
--- a/chrome/test/data/webui/md_bookmarks/command_manager_test.js |
+++ b/chrome/test/data/webui/md_bookmarks/command_manager_test.js |
@@ -32,12 +32,20 @@ suite('<bookmarks-command-manager>', function() { |
createFolder( |
'11', |
[ |
- createItem('111'), |
+ createItem('111', {url: 'http://111/'}), |
]), |
- createFolder('12', []), |
- createItem('13'), |
+ createFolder( |
+ '12', |
+ [ |
+ createItem('121', {url: 'http://121/'}), |
+ ]), |
+ createItem('13', {url: 'http://13/'}), |
]), |
- createFolder('2', [])), |
+ createFolder( |
+ '2', |
+ [ |
+ createFolder('21', []), |
+ ])) |
}); |
bookmarks.Store.instance_ = store; |
@@ -50,6 +58,8 @@ suite('<bookmarks-command-manager>', function() { |
realHandle(command, itemIds); |
}; |
replaceBody(commandManager); |
+ |
+ Polymer.dom.flush(); |
}); |
test('can only copy single URL items', function() { |
@@ -130,4 +140,49 @@ suite('<bookmarks-command-manager>', function() { |
assertDeepEquals(['1', '2'], lastDelete); |
}); |
+ |
+ test('expandUrls_ expands one level of URLs', function() { |
+ var urls = commandManager.expandUrls_(new Set(['1'])); |
+ assertDeepEquals(['http://13/'], urls); |
+ |
+ urls = commandManager.expandUrls_(new Set(['11', '12', '13'])); |
+ assertDeepEquals(['http://111/', 'http://121/', 'http://13/'], urls); |
+ }); |
+ |
+ test('shift-enter opens URLs in new window', function() { |
+ store.data.selection.items = new Set(['12', '13']); |
+ store.notifyObservers(); |
+ |
+ var lastCreate; |
+ chrome.windows.create = function(createConfig) { |
+ lastCreate = createConfig; |
+ }; |
+ |
+ MockInteractions.pressAndReleaseKeyOn(document, 13, 'shift', 'Enter'); |
+ assertLastCommand(Command.OPEN_NEW_WINDOW, ['12', '13']); |
+ assertDeepEquals(['http://121/', 'http://13/'], lastCreate.url); |
+ assertFalse(lastCreate.incognito); |
+ }); |
+ |
+ test('cannot execute "Open in New Tab" on folders with no items', function() { |
+ var items = new Set(['2']); |
+ assertFalse(commandManager.canExecute(Command.OPEN_NEW_TAB, items)); |
+ |
+ store.data.selection.items = items; |
+ |
+ commandManager.openCommandMenuAtPosition(0, 0); |
+ var commandItem = {}; |
+ commandManager.root.querySelectorAll('.dropdown-item').forEach(element => { |
+ commandItem[element.getAttribute('command')] = element; |
+ }); |
+ |
+ assertTrue(commandItem[Command.OPEN_NEW_TAB].disabled); |
+ assertFalse(commandItem[Command.OPEN_NEW_TAB].hidden); |
+ |
+ assertTrue(commandItem[Command.OPEN_NEW_WINDOW].disabled); |
+ assertFalse(commandItem[Command.OPEN_NEW_WINDOW].hidden); |
+ |
+ assertTrue(commandItem[Command.OPEN_INCOGNITO].disabled); |
+ assertFalse(commandItem[Command.OPEN_INCOGNITO].hidden); |
+ }); |
}); |