| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 }); |
| OLD | NEW |