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

Side by Side Diff: chrome/test/data/webui/settings/settings_main_test.js

Issue 2236723002: MD Settings: Hide the advanced page toggle control during searching. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 4 years, 4 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
« no previous file with comments | « chrome/browser/resources/settings/settings_main/settings_main.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 cr.define('settings_main_page', function() { 5 cr.define('settings_main_page', function() {
6 /** 6 /**
7 * @implements {SearchManager} 7 * @implements {SearchManager}
8 */ 8 */
9 var TestSearchManager = function() { 9 var TestSearchManager = function() {
10 /** @private {boolean} */ 10 /** @private {boolean} */
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 return CrSettingsPrefs.initialized; 42 return CrSettingsPrefs.initialized;
43 }); 43 });
44 44
45 suite('SearchTests', function() { 45 suite('SearchTests', function() {
46 /** @type {?TestSearchManager} */ 46 /** @type {?TestSearchManager} */
47 var searchManager = null; 47 var searchManager = null;
48 48
49 /** @type {?SettingsMainElement} */ 49 /** @type {?SettingsMainElement} */
50 var settingsMain = null; 50 var settingsMain = null;
51 51
52 // TODO(tommycli): Remove once settings.navigateTo is no longer a stub.
53 settings.navigateTo = function(route) {
54 settingsMain.currentRoute = route;
55 };
56
57 setup(function() { 52 setup(function() {
58 searchManager = new TestSearchManager(); 53 searchManager = new TestSearchManager();
59 settings.setSearchManagerForTesting(searchManager); 54 settings.setSearchManagerForTesting(searchManager);
60 PolymerTest.clearBody(); 55 PolymerTest.clearBody();
61 settingsMain = document.createElement('settings-main'); 56 settingsMain = document.createElement('settings-main');
62 settingsMain.prefs = settingsPrefs.prefs; 57 settingsMain.prefs = settingsPrefs.prefs;
63 settingsMain.toolbarSpinnerActive = false; 58 settingsMain.toolbarSpinnerActive = false;
64 document.body.appendChild(settingsMain); 59 document.body.appendChild(settingsMain);
65 }); 60 });
66 61
67 teardown(function() { settingsMain.remove(); }); 62 teardown(function() { settingsMain.remove(); });
68 63
69 test('no results page shows and hides', function() { 64 test('no results page shows and hides', function() {
65 Polymer.dom.flush();
70 var noSearchResults = settingsMain.$.noSearchResults; 66 var noSearchResults = settingsMain.$.noSearchResults;
71 assertTrue(!!noSearchResults); 67 assertTrue(!!noSearchResults);
72 assertTrue(noSearchResults.hidden); 68 assertTrue(noSearchResults.hidden);
73 69
70 var toggleContainer = settingsMain.$$('#toggleContainer');
71 assertTrue(!!toggleContainer);
72 assertNotEquals('none', toggleContainer.style.display);
73
74 searchManager.setMatchesFound(false); 74 searchManager.setMatchesFound(false);
75 return settingsMain.searchContents('Query1').then(function() { 75 return settingsMain.searchContents('Query1').then(function() {
76 assertFalse(noSearchResults.hidden); 76 assertFalse(noSearchResults.hidden);
77 assertEquals('none', toggleContainer.style.display);
77 78
78 searchManager.setMatchesFound(true); 79 searchManager.setMatchesFound(true);
79 return settingsMain.searchContents('Query2'); 80 return settingsMain.searchContents('Query2');
80 }).then(function() { 81 }).then(function() {
81 assertTrue(noSearchResults.hidden); 82 assertTrue(noSearchResults.hidden);
82 }); 83 });
83 }); 84 });
84 85
85 // Ensure that when the user clears the search box, the "no results" page 86 // Ensure that when the user clears the search box, the "no results" page
86 // is hidden. 87 // is hidden and the "advanced page toggle" is visible again.
87 test('no results page hides on clear', function() { 88 test('no results page hides on clear', function() {
89 Polymer.dom.flush();
88 var noSearchResults = settingsMain.$.noSearchResults; 90 var noSearchResults = settingsMain.$.noSearchResults;
89 assertTrue(!!noSearchResults); 91 assertTrue(!!noSearchResults);
90 assertTrue(noSearchResults.hidden); 92 assertTrue(noSearchResults.hidden);
93
94 var toggleContainer = settingsMain.$$('#toggleContainer');
95 assertTrue(!!toggleContainer);
96 assertNotEquals('none', toggleContainer.style.display);
97
91 searchManager.setMatchesFound(false); 98 searchManager.setMatchesFound(false);
92
93 // Clearing the search box is effectively a search for the empty string. 99 // Clearing the search box is effectively a search for the empty string.
94 return settingsMain.searchContents('').then(function() { 100 return settingsMain.searchContents('').then(function() {
101 Polymer.dom.flush();
95 assertTrue(noSearchResults.hidden); 102 assertTrue(noSearchResults.hidden);
103 assertNotEquals('none', toggleContainer.style.display);
104 });
105 });
106
107 test('advanced page restored after search results cleared', function() {
108 // Simulating searching while the advanced page is collapsed.
109 settingsMain.currentRouteChanged(settings.Route.BASIC);
110 Polymer.dom.flush();
111
112 assertFalse(!!settingsMain.$$('settings-advanced-page'));
113
114 searchManager.setMatchesFound(true);
115 return settingsMain.searchContents('Query1').then(function() {
116 searchManager.setMatchesFound(false);
117 return settingsMain.searchContents('');
118 }).then(function() {
119 Polymer.dom.flush();
120 // Checking that it remains hidden after results are cleared.
121 assertEquals(
122 'none', settingsMain.$$('settings-advanced-page').style.display);
96 }); 123 });
97 }); 124 });
98 }); 125 });
99 } 126 }
100 127
101 return { 128 return {
102 registerTests: registerTests, 129 registerTests: registerTests,
103 }; 130 };
104 }); 131 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/settings/settings_main/settings_main.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698