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