| 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 TEST_TREE.children.splice(1, 1); | 168 TEST_TREE.children.splice(1, 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 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 487 store.fire( | 497 store.fire( |
| 488 'select-item', {item: store.displayedList[2], add: true, range: false}); | 498 'select-item', {item: store.displayedList[2], add: true, range: false}); |
| 489 store.fire( | 499 store.fire( |
| 490 'select-item', {item: store.displayedList[4], add: true, range: true}); | 500 'select-item', {item: store.displayedList[4], add: true, range: true}); |
| 491 assertDeepEquals( | 501 assertDeepEquals( |
| 492 [true, false, true, true, true], | 502 [true, false, true, true, true], |
| 493 store.displayedList.map(i => i.isSelectedItem)); | 503 store.displayedList.map(i => i.isSelectedItem)); |
| 494 assertEquals(2, store.anchorIndex_); | 504 assertEquals(2, store.anchorIndex_); |
| 495 }); | 505 }); |
| 496 }); | 506 }); |
| OLD | NEW |