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-store>', function() { | 5 suite('<bookmarks-store>', function() { |
6 var store; | 6 var store; |
7 var TEST_TREE; | 7 var TEST_TREE; |
8 | 8 |
9 function replaceStore() { | 9 function replaceStore() { |
10 store = document.createElement('bookmarks-store'); | 10 store = document.createElement('bookmarks-store'); |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 | 147 |
148 // Closing an ancestor folder of a selected folder selects the ancestor. | 148 // Closing an ancestor folder of a selected folder selects the ancestor. |
149 store.fire('selected-folder-changed', '3'); | 149 store.fire('selected-folder-changed', '3'); |
150 store.fire('folder-open-changed', {id: '1', open: false}); | 150 store.fire('folder-open-changed', {id: '1', open: false}); |
151 assertFalse(store.idToNodeMap_['1'].isOpen); | 151 assertFalse(store.idToNodeMap_['1'].isOpen); |
152 assertEquals('1', store.selectedId); | 152 assertEquals('1', store.selectedId); |
153 assertTrue(store.idToNodeMap_['1'].isSelectedFolder); | 153 assertTrue(store.idToNodeMap_['1'].isSelectedFolder); |
154 assertFalse(store.idToNodeMap_['3'].isSelectedFolder); | 154 assertFalse(store.idToNodeMap_['3'].isSelectedFolder); |
155 }); | 155 }); |
156 | 156 |
| 157 test('parent folder opens when descendant folder is selected', function() { |
| 158 store.idToNodeMap_['0'].isOpen = false; |
| 159 store.idToNodeMap_['1'].isOpen = false; |
| 160 store.idToNodeMap_['3'].isOpen = false; |
| 161 store.fire('selected-folder-changed', '3'); |
| 162 assertTrue(store.idToNodeMap_['0'].isOpen); |
| 163 assertTrue(store.idToNodeMap_['1'].isOpen); |
| 164 assertFalse(store.idToNodeMap_['3'].isOpen); |
| 165 }); |
| 166 |
157 test('deleting a node updates the tree', function() { | 167 test('deleting a node updates the tree', function() { |
158 removeChild(TEST_TREE, 1); | 168 removeChild(TEST_TREE, 1); |
159 overrideBookmarksGetSubTree([TEST_TREE]); | 169 overrideBookmarksGetSubTree([TEST_TREE]); |
160 // Remove an empty folder/bookmark. | 170 // Remove an empty folder/bookmark. |
161 store.onBookmarkRemoved_('4', {parentId: '0', index: 1}); | 171 store.onBookmarkRemoved_('4', {parentId: '0', index: 1}); |
162 | 172 |
163 // Check the tree is correct. | 173 // Check the tree is correct. |
164 assertEquals('5', store.rootNode.children[1].id); | 174 assertEquals('5', store.rootNode.children[1].id); |
165 | 175 |
166 // idToNodeMap_ has been updated. | 176 // idToNodeMap_ has been updated. |
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
486 store.fire( | 496 store.fire( |
487 'select-item', {item: store.displayedList[2], add: true, range: false}); | 497 'select-item', {item: store.displayedList[2], add: true, range: false}); |
488 store.fire( | 498 store.fire( |
489 'select-item', {item: store.displayedList[4], add: true, range: true}); | 499 'select-item', {item: store.displayedList[4], add: true, range: true}); |
490 assertDeepEquals( | 500 assertDeepEquals( |
491 [true, false, true, true, true], | 501 [true, false, true, true, true], |
492 store.displayedList.map(i => i.isSelectedItem)); | 502 store.displayedList.map(i => i.isSelectedItem)); |
493 assertEquals(2, store.anchorIndex_); | 503 assertEquals(2, store.anchorIndex_); |
494 }); | 504 }); |
495 }); | 505 }); |
OLD | NEW |