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

Side by Side Diff: chrome/test/data/webui/md_bookmarks/folder_node_test.js

Issue 2926233002: MD Bookmarks: Add right-click context menu to sidebar folders (Closed)
Patch Set: Don't reselect folder Created 3 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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-folder-node>', function() { 5 suite('<bookmarks-folder-node>', function() {
6 var rootNode; 6 var rootNode;
7 var store; 7 var store;
8 8
9 function getFolderNode(id) { 9 function getFolderNode(id) {
10 return findFolderNode(rootNode, id); 10 return findFolderNode(rootNode, id);
(...skipping 26 matching lines...) Expand all
37 }); 37 });
38 38
39 test('selecting and deselecting folders dispatches action', function() { 39 test('selecting and deselecting folders dispatches action', function() {
40 var rootFolders = rootNode.root.querySelectorAll('bookmarks-folder-node'); 40 var rootFolders = rootNode.root.querySelectorAll('bookmarks-folder-node');
41 var firstGen = rootFolders[0].$['descendants'].querySelectorAll( 41 var firstGen = rootFolders[0].$['descendants'].querySelectorAll(
42 'bookmarks-folder-node'); 42 'bookmarks-folder-node');
43 var secondGen = 43 var secondGen =
44 firstGen[0].$['descendants'].querySelectorAll('bookmarks-folder-node'); 44 firstGen[0].$['descendants'].querySelectorAll('bookmarks-folder-node');
45 45
46 // Select nested folder. 46 // Select nested folder.
47 firedId = '';
48 MockInteractions.tap(secondGen[0].$['folder-label']); 47 MockInteractions.tap(secondGen[0].$['folder-label']);
49 assertEquals('select-folder', store.lastAction.name); 48 assertEquals('select-folder', store.lastAction.name);
50 assertEquals(secondGen[0].itemId, store.lastAction.id); 49 assertEquals(secondGen[0].itemId, store.lastAction.id);
51 50
52 // Select folder in a separate subtree. 51 // Select folder in a separate subtree.
53 firedId = '';
54 MockInteractions.tap(rootFolders[1].$['folder-label']); 52 MockInteractions.tap(rootFolders[1].$['folder-label']);
55 assertEquals('select-folder', store.lastAction.name); 53 assertEquals('select-folder', store.lastAction.name);
56 assertEquals(rootFolders[1].itemId, store.lastAction.id); 54 assertEquals(rootFolders[1].itemId, store.lastAction.id);
55
56 // Doesn't re-select if the folder is already selected.
57 store.data.selectedFolder = '7';
58 store.notifyObservers();
59 store.resetLastAction();
60
61 MockInteractions.tap(rootFolders[1].$['folder-label']);
62 assertEquals(null, store.lastAction);
57 }); 63 });
58 64
59 test('depth calculation', function() { 65 test('depth calculation', function() {
60 var rootFolders = rootNode.root.querySelectorAll('bookmarks-folder-node'); 66 var rootFolders = rootNode.root.querySelectorAll('bookmarks-folder-node');
61 var firstGen = rootFolders[0].$['descendants'].querySelectorAll( 67 var firstGen = rootFolders[0].$['descendants'].querySelectorAll(
62 'bookmarks-folder-node'); 68 'bookmarks-folder-node');
63 var secondGen = 69 var secondGen =
64 firstGen[0].$['descendants'].querySelectorAll('bookmarks-folder-node'); 70 firstGen[0].$['descendants'].querySelectorAll('bookmarks-folder-node');
65 71
66 Array.prototype.forEach.call(rootFolders, function(f) { 72 Array.prototype.forEach.call(rootFolders, function(f) {
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 assertEquals('3', getNextChild('2', '4', true).itemId); 130 assertEquals('3', getNextChild('2', '4', true).itemId);
125 assertEquals('4', getNextChild('0', '7', true).itemId); 131 assertEquals('4', getNextChild('0', '7', true).itemId);
126 132
127 // Skips closed folders. 133 // Skips closed folders.
128 store.data.closedFolders = new Set('2'); 134 store.data.closedFolders = new Set('2');
129 store.notifyObservers(); 135 store.notifyObservers();
130 136
131 assertEquals(null, getNextChild('1', '2', false)); 137 assertEquals(null, getNextChild('1', '2', false));
132 assertEquals('2', getNextChild('0', '7', true).itemId); 138 assertEquals('2', getNextChild('0', '7', true).itemId);
133 }); 139 });
140
141 test('right click opens context menu', function() {
142 var commandManager = new TestCommandManager();
143 document.body.appendChild(commandManager);
144
145 var node = getFolderNode('2');
146 node.$.container.dispatchEvent(new MouseEvent('contextmenu'));
147
148 assertDeepEquals(bookmarks.actions.selectFolder('2'), store.lastAction);
149 commandManager.assertMenuOpenForIds(['2']);
150 });
134 }); 151 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/md_bookmarks/folder_node.js ('k') | chrome/test/data/webui/md_bookmarks/test_command_manager.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698