Chromium Code Reviews| Index: chrome/test/data/webui/md_bookmarks/store_test.js |
| diff --git a/chrome/test/data/webui/md_bookmarks/store_test.js b/chrome/test/data/webui/md_bookmarks/store_test.js |
| index d92fe1d10613ba643efa5d11cb47645c17a9cbb6..220b3a9e58cea2b8defbe05dfafa9eba830360a1 100644 |
| --- a/chrome/test/data/webui/md_bookmarks/store_test.js |
| +++ b/chrome/test/data/webui/md_bookmarks/store_test.js |
| @@ -4,9 +4,12 @@ |
| suite('<bookmarks-store>', function() { |
| var store; |
| - var TEST_TREE = { |
| - id: '0', |
| - children: [ |
| + var TEST_TREE; |
| + |
| + setup(function() { |
| + TEST_TREE = { |
| + id: '0', |
| + children: [ |
| { |
| id: '1', |
| children: [ |
| @@ -19,9 +22,7 @@ suite('<bookmarks-store>', function() { |
| ] |
| }; |
| - setup(function() { |
| store = document.createElement('bookmarks-store'); |
| - store.isTesting_ = true; |
| replaceBody(store); |
| store.setupStore_(TEST_TREE); |
| }); |
| @@ -53,11 +54,11 @@ suite('<bookmarks-store>', function() { |
| test('correct paths generated for nodes', function() { |
| var TEST_PATHS = { |
| '0': 'rootNode', |
| - '1': 'rootNode.children.0', |
| - '2': 'rootNode.children.0.children.0', |
| - '3': 'rootNode.children.0.children.1', |
| - '4': 'rootNode.children.1', |
| - '5': 'rootNode.children.2', |
| + '1': 'rootNode.children.#0', |
| + '2': 'rootNode.children.#0.children.#0', |
| + '3': 'rootNode.children.#0.children.#1', |
| + '4': 'rootNode.children.#1', |
| + '5': 'rootNode.children.#2', |
| }; |
| for (var id in store.idToNodeMap_) |
| @@ -110,4 +111,64 @@ suite('<bookmarks-store>', function() { |
| assertTrue(store.idToNodeMap_['1'].isSelected); |
| assertFalse(store.idToNodeMap_['3'].isSelected); |
| }); |
| + |
| + test('deleting a node updates the tree', function() { |
| + // Remove an empty folder/bookmark. |
| + store.onBookmarkRemoved_('4', {parentId: '0', index: '1'}); |
| + |
| + // Check the tree is correct. |
| + assertEquals('5', store.rootNode.children[1].id); |
| + |
| + // idToNodeMap_ has been updated. |
| + assertEquals(undefined, store.idToNodeMap_['4']); |
| + assertEquals(store.rootNode.children[1], store.idToNodeMap_['5']); |
| + |
| + // paths have been updated. |
|
calamity
2017/01/04 06:57:44
Capitalization.
jiaxi
2017/01/04 22:44:01
Done.
|
| + var TEST_PATHS = { |
| + '0': 'rootNode', |
| + '1': 'rootNode.children.#0', |
| + '2': 'rootNode.children.#0.children.#0', |
| + '3': 'rootNode.children.#0.children.#1', |
| + '5': 'rootNode.children.#1', |
| + }; |
| + |
| + for (var id in store.idToNodeMap_) |
| + assertEquals(TEST_PATHS[id], store.idToNodeMap_[id].path); |
| + |
| + // Remove a folder with children. |
| + store.onBookmarkRemoved_('1', {parentId: '0', index: '0'}); |
| + |
| + // Check the tree is correct. |
| + assertEquals('5', store.rootNode.children[0].id); |
| + |
| + // idToNodeMap_ has been updated. |
| + assertEquals(undefined, store.idToNodeMap_['1']); |
| + assertEquals(undefined, store.idToNodeMap_['2']); |
| + assertEquals(undefined, store.idToNodeMap_['3']); |
| + assertEquals(undefined, store.idToNodeMap_['4']); |
| + assertEquals(store.rootNode.children[0], store.idToNodeMap_['5']); |
| + |
| + // paths have been updated. |
|
calamity
2017/01/04 06:57:44
Capitalization.
jiaxi
2017/01/04 22:44:01
Done.
|
| + TEST_PATHS = { |
| + '0': 'rootNode', |
| + '5': 'rootNode.children.#0', |
| + }; |
| + |
| + for (var id in store.idToNodeMap_) |
| + assertEquals(TEST_PATHS[id], store.idToNodeMap_[id].path); |
| + }); |
| + |
| + test('selectedId updates after removing a selected folder', function() { |
| + // Selected folder gets removed. |
| + store.selectedId = '2'; |
| + store.onBookmarkRemoved_('2', {parentId:'1', index:'0'}); |
| + assertTrue(store.idToNodeMap_['1'].isSelected); |
| + assertEquals('1', store.selectedId); |
| + |
| + // A folder with selected folder in it gets removed. |
| + store.selectedId = '3'; |
| + store.onBookmarkRemoved_('1', {parentId:'0', index:'0'}); |
| + assertTrue(store.idToNodeMap_['0'].isSelected); |
| + assertEquals('0', store.selectedId); |
| + }); |
| }); |