Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6287)

Unified Diff: chrome/test/data/webui/md_bookmarks/list_test.js

Issue 2888863002: [MD Bookmarks] Refine mouse selection (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
+ });
+});

Powered by Google App Engine
This is Rietveld 408576698