| 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-sidebar>', function() { | 5 suite('<bookmarks-sidebar>', function() { |
| 6 var sidebar; | 6 var sidebar; |
| 7 var TEST_TREE; | 7 var store; |
| 8 | 8 |
| 9 setup(function() { | 9 setup(function() { |
| 10 TEST_TREE = createFolder('0', [ | 10 store = new bookmarks.TestStore({ |
| 11 createFolder( | 11 nodes: testTree(createFolder('0', [ |
| 12 '1', | 12 createFolder( |
| 13 [ | 13 '1', |
| 14 createFolder( | 14 [ |
| 15 '2', | 15 createFolder( |
| 16 [ | 16 '2', |
| 17 createFolder('3', []), | 17 [ |
| 18 createFolder('4', []), | 18 createFolder('3', []), |
| 19 ]), | 19 createFolder('4', []), |
| 20 createItem('5'), | 20 ]), |
| 21 createItem('6'), | 21 createItem('5'), |
| 22 ]), | 22 ]), |
| 23 createFolder('7', []), | 23 createFolder('7', []), |
| 24 createFolder('8', []), | 24 ])), |
| 25 ]); | 25 }); |
| 26 bookmarks.Store.instance_ = store; |
| 26 | 27 |
| 27 setupTreeForUITests(TEST_TREE); | |
| 28 sidebar = document.createElement('bookmarks-sidebar'); | 28 sidebar = document.createElement('bookmarks-sidebar'); |
| 29 replaceBody(sidebar); | 29 replaceBody(sidebar); |
| 30 sidebar.rootFolders = TEST_TREE.children; | 30 Polymer.dom.flush(); |
| 31 }); | 31 }); |
| 32 | 32 |
| 33 test('selecting and deselecting folders fires event', function() { | 33 test('selecting and deselecting folders fires event', function() { |
| 34 var firedId; | |
| 35 document.addEventListener('selected-folder-changed', function(e) { | |
| 36 firedId = /** @type {string} */ (e.detail); | |
| 37 }); | |
| 38 | |
| 39 Polymer.dom.flush(); | |
| 40 var rootFolders = sidebar.$['folder-tree'].children; | 34 var rootFolders = sidebar.$['folder-tree'].children; |
| 41 var firstGen = rootFolders[0].$['descendants'].querySelectorAll( | 35 var firstGen = rootFolders[0].$['descendants'].querySelectorAll( |
| 42 'bookmarks-folder-node'); | 36 'bookmarks-folder-node'); |
| 43 var secondGen = | 37 var secondGen = |
| 44 firstGen[0].$['descendants'].querySelectorAll('bookmarks-folder-node'); | 38 firstGen[0].$['descendants'].querySelectorAll('bookmarks-folder-node'); |
| 45 | 39 |
| 46 // Select nested folder. | 40 // Select nested folder. |
| 47 firedId = ''; | 41 firedId = ''; |
| 48 MockInteractions.tap(secondGen[0].$['folder-label']); | 42 MockInteractions.tap(secondGen[0].$['folder-label']); |
| 49 assertEquals(secondGen[0].item.id, firedId); | 43 assertEquals('select-folder', store.lastAction.name); |
| 44 assertEquals(secondGen[0].item.id, store.lastAction.id); |
| 50 | 45 |
| 51 // Select folder in a separate subtree. | 46 // Select folder in a separate subtree. |
| 52 firedId = ''; | 47 firedId = ''; |
| 53 MockInteractions.tap(rootFolders[1].$['folder-label']); | 48 MockInteractions.tap(rootFolders[1].$['folder-label']); |
| 54 assertEquals(rootFolders[1].item.id, firedId); | 49 assertEquals('select-folder', store.lastAction.name); |
| 50 assertEquals(rootFolders[1].item.id, store.lastAction.id); |
| 55 }); | 51 }); |
| 56 }); | 52 }); |
| OLD | NEW |