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 dispatches action', 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].itemId, 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].itemId, store.lastAction.id); |
55 }); | 51 }); |
56 }); | 52 }); |
OLD | NEW |