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

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

Issue 2745993002: MD Bookmarks: Update URL router to work in new data binding system (Closed)
Patch Set: calamity@ review 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-store>', function() { 5 suite('<bookmarks-store>', function() {
6 var store; 6 var store;
7 var TEST_TREE; 7 var TEST_TREE;
8 8
9 function replaceStore() { 9 function replaceStore() {
10 store = document.createElement('bookmarks-store'); 10 store = document.createElement('bookmarks-store');
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 '8': 'rootNode.children.#3', 86 '8': 'rootNode.children.#3',
87 }; 87 };
88 88
89 for (var id in store.idToNodeMap_) 89 for (var id in store.idToNodeMap_)
90 assertEquals(TEST_PATHS[id], store.idToNodeMap_[id].path); 90 assertEquals(TEST_PATHS[id], store.idToNodeMap_[id].path);
91 }); 91 });
92 92
93 ////////////////////////////////////////////////////////////////////////////// 93 //////////////////////////////////////////////////////////////////////////////
94 // editing bookmarks tree tests: 94 // editing bookmarks tree tests:
95 95
96 test('changing selectedId changes the displayedList', function() {
97 store.selectedId = '0';
98 assertEquals(TEST_TREE.children, store.displayedList);
99 store.selectedId = '1';
100 assertEquals(TEST_TREE.children[0].children, store.displayedList);
101 store.selectedId = '3';
102 assertEquals(
103 TEST_TREE.children[0].children[1].children, store.displayedList);
104
105 // Selecting an item selects the default folder.
106 store.selectedId = '5';
107 assertEquals(TEST_TREE.children[0].children, store.displayedList);
108 });
109
110 test('store updates on selected event', function() { 96 test('store updates on selected event', function() {
111 // First child of root is selected by default. 97 // First child of root is selected by default.
112 assertEquals('1', store.selectedId); 98 assertEquals('1', store.selectedId);
113 assertTrue(store.idToNodeMap_['1'].isSelectedFolder); 99 assertTrue(store.idToNodeMap_['1'].isSelectedFolder);
114 100
115 // Selecting a selected folder doesn't deselect it. 101 // Selecting a selected folder doesn't deselect it.
116 store.fire('selected-folder-changed', '1'); 102 store.fire('selected-folder-changed', '1');
117 assertEquals('1', store.selectedId); 103 assertEquals('1', store.selectedId);
118 assertTrue(store.idToNodeMap_['1'].isSelectedFolder); 104 assertTrue(store.idToNodeMap_['1'].isSelectedFolder);
119 105
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 assertEquals(defaultFolder.id, store.selectedId); 277 assertEquals(defaultFolder.id, store.selectedId);
292 assertEquals(defaultFolder.children, store.displayedList); 278 assertEquals(defaultFolder.children, store.displayedList);
293 279
294 // Search with no bookmarks returned. 280 // Search with no bookmarks returned.
295 overrideBookmarksSearch([]); 281 overrideBookmarksSearch([]);
296 store.searchTerm = 'asdf'; 282 store.searchTerm = 'asdf';
297 assertEquals(0, store.displayedList.length); 283 assertEquals(0, store.displayedList.length);
298 }); 284 });
299 285
300 ////////////////////////////////////////////////////////////////////////////// 286 //////////////////////////////////////////////////////////////////////////////
301 // router tests:
302
303 test('search updates from route', function() {
304 overrideBookmarksSearch([]);
305 searchTerm = 'Pond';
306 navigateTo('/?q=' + searchTerm);
307 assertEquals(searchTerm, store.searchTerm);
308 });
309
310 test('search updates from route on setup', function() {
311 overrideBookmarksSearch([]);
312 var searchTerm = 'Boat24';
313 navigateTo('/?q=' + searchTerm);
314 replaceStore();
315 assertEquals(searchTerm, store.searchTerm);
316 });
317
318 test('route updates from search', function() {
319 overrideBookmarksSearch([]);
320 var searchTerm = 'Boat24';
321 store.searchTerm = searchTerm;
322 assertEquals('chrome://bookmarks/?q=' + searchTerm, window.location.href);
323 });
324
325 test('selectedId updates from route', function() {
326 // Folder id routes to the corresponding folder.
327 var selectedId = '3';
328 navigateTo('/?id=' + selectedId);
329 assertEquals(selectedId, store.selectedId);
330
331 // Bookmark id routes to the default Bookmarks Bar.
332 var selectedId = '2';
333 navigateTo('/?id=' + selectedId);
334 assertEquals(store.rootNode.children[0].id, store.selectedId);
335
336 // Invalid id routes to the default Bookmarks Bar.
337 selectedId = 'foo';
338 navigateTo('/?id=' + selectedId);
339 assertEquals(store.rootNode.children[0].id, store.selectedId);
340 });
341
342 test('selectedId updates from route on setup', function() {
343 selectedId = '3';
344 navigateTo('/?id=' + selectedId);
345 replaceStore();
346 assertEquals(selectedId, store.selectedId);
347 });
348
349 test('route updates from selectedId', function() {
350 var selectedId = '2';
351 store.selectedId = selectedId;
352 assertEquals('chrome://bookmarks/?id=' + selectedId, window.location.href);
353 });
354
355 //////////////////////////////////////////////////////////////////////////////
356 // selection tests: 287 // selection tests:
357 288
358 test('single select selects the correct bookmark', function() { 289 test('single select selects the correct bookmark', function() {
359 for (var id in store.idToNodeMap_) 290 for (var id in store.idToNodeMap_)
360 assertFalse(store.idToNodeMap_[id].isSelectedItem); 291 assertFalse(store.idToNodeMap_[id].isSelectedItem);
361 292
362 store.fire('select-item', {item: store.idToNodeMap_['2']}); 293 store.fire('select-item', {item: store.idToNodeMap_['2']});
363 assertDeepEquals( 294 assertDeepEquals(
364 [true, false, false, false], 295 [true, false, false, false],
365 store.displayedList.map(i => i.isSelectedItem)); 296 store.displayedList.map(i => i.isSelectedItem));
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 store.fire( 433 store.fire(
503 'select-item', {item: store.displayedList[2], add: true, range: false}); 434 'select-item', {item: store.displayedList[2], add: true, range: false});
504 store.fire( 435 store.fire(
505 'select-item', {item: store.displayedList[4], add: true, range: true}); 436 'select-item', {item: store.displayedList[4], add: true, range: true});
506 assertDeepEquals( 437 assertDeepEquals(
507 [true, false, true, true, true], 438 [true, false, true, true, true],
508 store.displayedList.map(i => i.isSelectedItem)); 439 store.displayedList.map(i => i.isSelectedItem));
509 assertEquals(2, store.anchorIndex_); 440 assertEquals(2, store.anchorIndex_);
510 }); 441 });
511 }); 442 });
OLDNEW
« no previous file with comments | « chrome/test/data/webui/md_bookmarks/router_test.js ('k') | chrome/test/data/webui/md_bookmarks/test_util.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698