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 |