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-list>', function() { | 5 suite('<bookmarks-list>', function() { |
6 var list; | 6 var list; |
7 var store; | 7 var store; |
8 | 8 |
9 setup(function() { | 9 setup(function() { |
10 store = new bookmarks.TestStore({ | 10 store = new bookmarks.TestStore({ |
11 nodes: testTree(createFolder( | 11 nodes: testTree(createFolder( |
12 '0', | 12 '0', |
13 [ | 13 [ |
14 createItem('1'), | 14 createItem('1'), |
15 createFolder('3', []), | 15 createFolder('3', []), |
16 createItem('5'), | 16 createItem('5'), |
17 createItem('7'), | 17 createItem('7'), |
18 ])), | 18 ])), |
19 selectedFolder: '0', | 19 selectedFolder: '0', |
20 }); | 20 }); |
21 bookmarks.Store.instance_ = store; | 21 bookmarks.Store.instance_ = store; |
22 | 22 |
23 list = document.createElement('bookmarks-list'); | 23 list = document.createElement('bookmarks-list'); |
24 replaceBody(list); | 24 replaceBody(list); |
25 Polymer.dom.flush(); | 25 Polymer.dom.flush(); |
26 }); | 26 }); |
27 | 27 |
28 test('folder menu item hides the url field', function() { | |
29 // Bookmark editor shows the url field. | |
30 list.menuItem_ = store.data.nodes['1']; | |
31 assertFalse(list.$['url'].hidden); | |
32 | |
33 // Folder editor hides the url field. | |
34 list.menuItem_ = store.data.nodes['3']; | |
35 assertTrue(list.$['url'].hidden); | |
36 }); | |
37 | |
38 test('saving edit passes correct details to the update', function() { | |
39 // Saving bookmark edit. | |
40 var menuItem = store.data.nodes['1']; | |
41 chrome.bookmarks.update = function(id, edit) { | |
42 assertEquals(menuItem.id, id); | |
43 assertEquals(menuItem.url, edit.url); | |
44 assertEquals(menuItem.title, edit.title); | |
45 }; | |
46 list.menuItem_ = menuItem; | |
47 list.$.editBookmark.showModal(); | |
48 MockInteractions.tap(list.$.saveButton); | |
49 | |
50 // Saving folder rename. | |
51 menuItem = store.data.nodes['3']; | |
52 chrome.bookmarks.update = function(id, edit) { | |
53 assertEquals(menuItem.id, id); | |
54 assertEquals(menuItem.title, edit.title); | |
55 assertEquals(undefined, edit.url); | |
56 }; | |
57 list.menuItem_ = menuItem; | |
58 list.$.editBookmark.showModal(); | |
59 MockInteractions.tap(list.$.saveButton); | |
60 }); | |
61 | |
62 test('renders correct <bookmark-item> elements', function() { | 28 test('renders correct <bookmark-item> elements', function() { |
63 var items = list.root.querySelectorAll('bookmarks-item'); | 29 var items = list.root.querySelectorAll('bookmarks-item'); |
64 var ids = Array.from(items).map((item) => item.itemId); | 30 var ids = Array.from(items).map((item) => item.itemId); |
65 | 31 |
66 assertDeepEquals(['1', '3', '5', '7'], ids); | 32 assertDeepEquals(['1', '3', '5', '7'], ids); |
67 }); | 33 }); |
68 | 34 |
69 test('selects individual items', function() { | 35 test('selects individual items', function() { |
70 var items = list.root.querySelectorAll('bookmarks-item'); | 36 var items = list.root.querySelectorAll('bookmarks-item'); |
71 | 37 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 | 74 |
109 // Anchor item doesn't exist: | 75 // Anchor item doesn't exist: |
110 store.data.selection.anchor = '42'; | 76 store.data.selection.anchor = '42'; |
111 | 77 |
112 customClick(items[1], {shiftKey: true}); | 78 customClick(items[1], {shiftKey: true}); |
113 | 79 |
114 assertEquals('3', store.lastAction.anchor); | 80 assertEquals('3', store.lastAction.anchor); |
115 assertDeepEquals(['3'], store.lastAction.items); | 81 assertDeepEquals(['3'], store.lastAction.items); |
116 }); | 82 }); |
117 }); | 83 }); |
OLD | NEW |