| Index: chrome/test/data/webui/md_bookmarks/store_test.js
|
| diff --git a/chrome/test/data/webui/md_bookmarks/store_test.js b/chrome/test/data/webui/md_bookmarks/store_test.js
|
| index 67b65c14df8e7bdc85a59b0e378c576602fd826e..0e86e4cf69adf73ef083204bb77893843bc2c58d 100644
|
| --- a/chrome/test/data/webui/md_bookmarks/store_test.js
|
| +++ b/chrome/test/data/webui/md_bookmarks/store_test.js
|
| @@ -233,19 +233,19 @@ suite('<bookmarks-store>', function() {
|
| 'Paris',
|
| ];
|
| overrideBookmarksSearch(SEARCH_RESULTS);
|
| + var prevFolder = store.idToNodeMap_[store.selectedId];
|
|
|
| // Search for a non-empty string.
|
| store.searchTerm = 'a';
|
| - assertFalse(store.rootNode.children[0].isSelected);
|
| - assertEquals(null, store.selectedId);
|
| + assertFalse(prevFolder.isSelected);
|
| + assertEquals(prevFolder.id, store.selectedId);
|
| assertEquals(SEARCH_RESULTS, store.displayedList);
|
|
|
| - // Clear the searchTerm.
|
| + // Clearing search sets the displayed list to the previous folder.
|
| store.searchTerm = '';
|
| - var defaultFolder = store.rootNode.children[0];
|
| - assertTrue(defaultFolder.isSelected);
|
| - assertEquals(defaultFolder.id, store.selectedId);
|
| - assertEquals(defaultFolder.children, store.displayedList);
|
| + assertTrue(prevFolder.isSelected);
|
| + assertEquals(prevFolder.id, store.selectedId);
|
| + assertEquals(prevFolder.children, store.displayedList);
|
|
|
| // Search with no bookmarks returned.
|
| var EMPTY_RESULT = [];
|
| @@ -259,9 +259,26 @@ suite('<bookmarks-store>', function() {
|
|
|
| test('search updates from route', function() {
|
| overrideBookmarksSearch([]);
|
| +
|
| + // Route with basic search.
|
| searchTerm = 'Pond';
|
| navigateTo('/?q=' + searchTerm);
|
| assertEquals(searchTerm, store.searchTerm);
|
| + assertEquals(store.rootNode.children[0].id, store.selectedId);
|
| +
|
| + // Route with selected folder and search.
|
| + var selectedId = '3';
|
| + searchTerm = 'Fish';
|
| + navigateTo('/?id=' + selectedId + '&q=' + searchTerm);
|
| + assertEquals(searchTerm, store.searchTerm);
|
| + assertEquals(selectedId, store.selectedId);
|
| +
|
| + // Route with invalid selected folder and search.
|
| + selectedId = 'bar';
|
| + searchTerm = 'foo';
|
| + navigateTo('/?q=' + searchTerm + '&id=' + selectedId);
|
| + assertEquals(searchTerm, store.searchTerm);
|
| + assertEquals(store.rootNode.children[0].id, store.selectedId);
|
| });
|
|
|
| test('search updates from route on setup', function() {
|
| @@ -274,9 +291,21 @@ suite('<bookmarks-store>', function() {
|
|
|
| test('route updates from search', function() {
|
| overrideBookmarksSearch([]);
|
| + var prevFolderId = '3';
|
| + store.fire('selected-folder-changed', prevFolderId);
|
| +
|
| + // Searching sets the previous folder and searchTerm as the URL parameters.
|
| var searchTerm = 'Boat24';
|
| store.searchTerm = searchTerm;
|
| - assertEquals('chrome://bookmarks/?q=' + searchTerm, window.location.href);
|
| + assertEquals(
|
| + 'chrome://bookmarks/?id=' + prevFolderId + '&q=' + searchTerm,
|
| + window.location.href);
|
| +
|
| + // Search parameter is removed from the URL when search is cleared.
|
| + searchTerm = '';
|
| + store.searchTerm = searchTerm;
|
| + assertEquals(
|
| + 'chrome://bookmarks/?id=' + prevFolderId, window.location.href);
|
| });
|
|
|
| test('selectedId updates from route', function() {
|
|
|