Index: chrome/test/data/webui/md_bookmarks/list_test.js |
diff --git a/chrome/test/data/webui/md_bookmarks/list_test.js b/chrome/test/data/webui/md_bookmarks/list_test.js |
index 99be398de8e8175cb947bc2d8876ff43927c5434..445d08bf45718ad7ed36c7724ef3caae0dcd5797 100644 |
--- a/chrome/test/data/webui/md_bookmarks/list_test.js |
+++ b/chrome/test/data/webui/md_bookmarks/list_test.js |
@@ -9,14 +9,14 @@ suite('<bookmarks-list>', function() { |
setup(function() { |
store = new bookmarks.TestStore({ |
nodes: testTree(createFolder( |
- '0', |
+ '10', |
[ |
createItem('1'), |
createFolder('3', []), |
createItem('5'), |
createItem('7'), |
])), |
- selectedFolder: '0', |
+ selectedFolder: '10', |
}); |
bookmarks.Store.instance_ = store; |
@@ -36,25 +36,6 @@ suite('<bookmarks-list>', function() { |
assertDeepEquals(['1', '3', '5', '7'], ids); |
}); |
- test('shift-selects multiple items', function() { |
- var items = list.root.querySelectorAll('bookmarks-item'); |
- |
- customClick(items[0]); |
- |
- assertEquals('select-items', store.lastAction.name); |
- assertFalse(store.lastAction.add); |
- assertEquals('1', store.lastAction.anchor); |
- assertDeepEquals(['1'], store.lastAction.items); |
- |
- store.data.selection.anchor = '1'; |
- customClick(items[2], {shiftKey: true, ctrlKey: true}); |
- |
- assertEquals('select-items', store.lastAction.name); |
- assertTrue(store.lastAction.add); |
- assertEquals('5', store.lastAction.anchor); |
- assertDeepEquals(['1', '3', '5'], store.lastAction.items); |
- }); |
- |
test('deselects items on click outside of card', function() { |
customClick(list); |
assertEquals('deselect-items', store.lastAction.name); |
@@ -71,3 +52,84 @@ suite('<bookmarks-list>', function() { |
assertDeepEquals(list.displayedIds_, list.displayedList_.map(n => n.id)); |
}); |
}); |
+ |
+suite('<bookmarks-list> integration test', function() { |
+ var list; |
+ var store; |
+ var items; |
+ |
+ setup(function() { |
+ store = new bookmarks.TestStore({ |
+ nodes: testTree(createFolder( |
+ '10', |
+ [ |
+ createItem('1'), |
+ createFolder('3', []), |
+ createItem('5'), |
+ createItem('7'), |
+ createItem('9'), |
+ ])), |
+ selectedFolder: '10', |
+ }); |
+ bookmarks.Store.instance_ = store; |
+ store.setReducersEnabled(true); |
+ |
+ list = document.createElement('bookmarks-list'); |
+ list.style.height = '100%'; |
+ list.style.width = '100%'; |
+ list.style.position= 'absolute'; |
+ |
+ replaceBody(list); |
+ Polymer.dom.flush(); |
+ |
+ items = list.root.querySelectorAll('bookmarks-item'); |
+ }); |
+ |
+ test('shift-selects multiple items', function() { |
+ customClick(items[1]); |
+ assertDeepEquals(['3'], normalizeSet(store.data.selection.items)); |
+ assertDeepEquals('3', store.data.selection.anchor); |
+ |
+ customClick(items[3], {shiftKey: true}); |
+ assertDeepEquals(['3', '5', '7'], normalizeSet(store.data.selection.items)); |
+ assertDeepEquals('3', store.data.selection.anchor); |
+ |
+ customClick(items[0], {shiftKey: true}); |
+ assertDeepEquals(['1', '3'], normalizeSet(store.data.selection.items)); |
+ assertDeepEquals('3', store.data.selection.anchor); |
+ }); |
+ |
+ test('ctrl toggles multiple items', function() { |
+ customClick(items[1]); |
+ assertDeepEquals(['3'], normalizeSet(store.data.selection.items)); |
+ assertDeepEquals('3', store.data.selection.anchor); |
+ |
+ customClick(items[3], {ctrlKey: true}); |
+ assertDeepEquals(['3', '7'], normalizeSet(store.data.selection.items)); |
+ assertDeepEquals('7', store.data.selection.anchor); |
+ |
+ customClick(items[1], {ctrlKey: true}); |
+ assertDeepEquals(['7'], normalizeSet(store.data.selection.items)); |
+ assertDeepEquals('3', store.data.selection.anchor); |
+ }); |
+ |
+ test('ctrl+shift adds ranges to selection', function() { |
+ customClick(items[0]); |
+ assertDeepEquals(['1'], normalizeSet(store.data.selection.items)); |
+ assertDeepEquals('1', store.data.selection.anchor); |
+ |
+ customClick(items[2], {ctrlKey: true}); |
+ assertDeepEquals(['1', '5'], normalizeSet(store.data.selection.items)); |
+ assertDeepEquals('5', store.data.selection.anchor); |
+ |
+ customClick(items[4], {ctrlKey: true, shiftKey: true}); |
+ assertDeepEquals( |
+ ['1', '5', '7', '9'], normalizeSet(store.data.selection.items)); |
+ assertDeepEquals('5', store.data.selection.anchor); |
+ |
+ customClick(items[0], {ctrlKey: true, shiftKey: true}); |
+ assertDeepEquals( |
+ ['1', '3', '5', '7', '9'], normalizeSet(store.data.selection.items)); |
+ assertDeepEquals('5', store.data.selection.anchor); |
+ }); |
+}); |