Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(242)

Side by Side Diff: chrome/test/data/webui/md_bookmarks/list_test.js

Issue 2735953002: MD Bookmarks: Integrate new data store with UI elements (Closed)
Patch Set: More tweaks Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 TEST_LIST = 7 var store;
8 [createItem('0'), createItem('1'), createFolder('2', [], null)];
9 8
10 setup(function() { 9 setup(function() {
10 store = new bookmarks.TestStore({
11 nodes: testTree(createFolder(
12 '0',
13 [
14 createItem('1'),
15 createFolder('3', [], null),
calamity 2017/03/09 04:58:57 nit: Drop the null.
tsergeant 2017/03/09 06:27:55 "Just 'createFolder'. It's cleaner."
16 createItem('5'),
17 createItem('7'),
18 ])),
19 selectedFolder: '0',
20 });
21 bookmarks.Store.instance_ = store;
22
11 list = document.createElement('bookmarks-list'); 23 list = document.createElement('bookmarks-list');
12 replaceBody(list); 24 replaceBody(list);
13 list.displayedList = TEST_LIST; 25 Polymer.dom.flush();
14 }); 26 });
15 27
16 test('folder menu item hides the url field', function() { 28 test('folder menu item hides the url field', function() {
17 // Bookmark editor shows the url field. 29 // Bookmark editor shows the url field.
18 list.menuItem_ = TEST_LIST[0]; 30 list.menuItem_ = store.data.nodes['1'];
19 assertFalse(list.$['url'].hidden); 31 assertFalse(list.$['url'].hidden);
20 32
21 // Folder editor hides the url field. 33 // Folder editor hides the url field.
22 list.menuItem_ = TEST_LIST[2]; 34 list.menuItem_ = store.data.nodes['3'];
23 assertTrue(list.$['url'].hidden); 35 assertTrue(list.$['url'].hidden);
24 }); 36 });
25 37
26 test('saving edit passes correct details to the update', function() { 38 test('saving edit passes correct details to the update', function() {
27 // Saving bookmark edit. 39 // Saving bookmark edit.
28 var menuItem = TEST_LIST[0]; 40 var menuItem = store.data.nodes['1'];
41 // TODO(tsergeant): Avoid overwriting these functions directly.
calamity 2017/03/09 04:58:57 Is this about using the real backend? If so, make
tsergeant 2017/03/09 06:27:55 My concern was with the fact that overwriting chro
29 chrome.bookmarks.update = function(id, edit) { 42 chrome.bookmarks.update = function(id, edit) {
30 assertEquals(menuItem.id, id); 43 assertEquals(menuItem.id, id);
31 assertEquals(menuItem.url, edit.url); 44 assertEquals(menuItem.url, edit.url);
32 assertEquals(menuItem.title, edit.title); 45 assertEquals(menuItem.title, edit.title);
33 }; 46 };
34 list.menuItem_ = menuItem; 47 list.menuItem_ = menuItem;
35 list.$.editBookmark.showModal(); 48 list.$.editBookmark.showModal();
36 MockInteractions.tap(list.$.saveButton); 49 MockInteractions.tap(list.$.saveButton);
37 50
38 // Saving folder rename. 51 // Saving folder rename.
39 menuItem = TEST_LIST[2]; 52 menuItem = store.data.nodes['3'];
40 chrome.bookmarks.update = function(id, edit) { 53 chrome.bookmarks.update = function(id, edit) {
41 assertEquals(menuItem.id, id); 54 assertEquals(menuItem.id, id);
42 assertEquals(menuItem.title, edit.title); 55 assertEquals(menuItem.title, edit.title);
43 assertEquals(undefined, edit.url); 56 assertEquals(undefined, edit.url);
44 }; 57 };
45 list.menuItem_ = menuItem; 58 list.menuItem_ = menuItem;
46 list.$.editBookmark.showModal(); 59 list.$.editBookmark.showModal();
47 MockInteractions.tap(list.$.saveButton); 60 MockInteractions.tap(list.$.saveButton);
48 }); 61 });
62
63 test('renders correct <bookmark-item> elements', function() {
64 var items = list.root.querySelectorAll('bookmarks-item');
65 var ids = Array.from(items).map((item) => item.itemId);
66
67 assertDeepEquals(['1', '3', '5', '7'], ids);
68 });
49 }); 69 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698