| Index: chrome/test/data/webui/settings/settings_main_test.js
|
| diff --git a/chrome/test/data/webui/settings/settings_main_test.js b/chrome/test/data/webui/settings/settings_main_test.js
|
| index e4af140ca7e78b8623cdce4d7a7150d961294335..aa45197642b57884f36e8ad3b46257c2fed29fbe 100644
|
| --- a/chrome/test/data/webui/settings/settings_main_test.js
|
| +++ b/chrome/test/data/webui/settings/settings_main_test.js
|
| @@ -5,8 +5,13 @@
|
| cr.define('settings_main_page', function() {
|
| /**
|
| * @implements {SearchManager}
|
| + * @extends {settings.TestBrowserProxy}
|
| */
|
| var TestSearchManager = function() {
|
| + settings.TestBrowserProxy.call(this, [
|
| + 'search',
|
| + ]);
|
| +
|
| /** @private {boolean} */
|
| this.matchesFound_ = true;
|
|
|
| @@ -15,6 +20,8 @@ cr.define('settings_main_page', function() {
|
| }
|
|
|
| TestSearchManager.prototype = {
|
| + __proto__: settings.TestBrowserProxy.prototype,
|
| +
|
| /**
|
| * @param {boolean} matchesFound
|
| */
|
| @@ -24,6 +31,8 @@ cr.define('settings_main_page', function() {
|
|
|
| /** @override */
|
| search: function(text, page) {
|
| + this.methodCalled('search', text);
|
| +
|
| if (this.searchRequest_ == null || !this.searchRequest_.isSame(text)) {
|
| this.searchRequest_ = new settings.SearchRequest(text);
|
| this.searchRequest_.finished = true;
|
| @@ -62,6 +71,42 @@ cr.define('settings_main_page', function() {
|
|
|
| teardown(function() { settingsMain.remove(); });
|
|
|
| + /**
|
| + * Triggers a navigation to a URL that has a 'search' parameter for the
|
| + * given query.
|
| + * @param {string} query
|
| + */
|
| + function triggerSearchByUrl(query) {
|
| + settings.navigateTo(
|
| + settings.Route.BASIC,
|
| + new URLSearchParams(`search=${query}`));
|
| + }
|
| +
|
| + test('search URL parameter triggers search', function() {
|
| + Polymer.dom.flush();
|
| +
|
| + var expectedQuery1 = 'foo';
|
| + var expectedQuery2 = 'bar';
|
| + var expectedQuery3 = '';
|
| +
|
| + triggerSearchByUrl(expectedQuery1);
|
| + return searchManager.whenCalled('search').then(function(query) {
|
| + assertEquals(expectedQuery1, query);
|
| +
|
| + searchManager.resetResolver('search');
|
| + triggerSearchByUrl(expectedQuery2);
|
| + return searchManager.whenCalled('search');
|
| + }).then(function(query) {
|
| + assertEquals(expectedQuery2, query);
|
| +
|
| + searchManager.resetResolver('search');
|
| + triggerSearchByUrl(expectedQuery3);
|
| + return searchManager.whenCalled('search');
|
| + }).then(function(query) {
|
| + assertEquals(expectedQuery3, query);
|
| + });
|
| + });
|
| +
|
| test('no results page shows and hides', function() {
|
| Polymer.dom.flush();
|
| var noSearchResults = settingsMain.$.noSearchResults;
|
| @@ -73,12 +118,12 @@ cr.define('settings_main_page', function() {
|
| assertNotEquals('none', toggleContainer.style.display);
|
|
|
| searchManager.setMatchesFound(false);
|
| - return settingsMain.searchContents('Query1').then(function() {
|
| + return settingsMain.searchContents_('Query1').then(function() {
|
| assertFalse(noSearchResults.hidden);
|
| assertEquals('none', toggleContainer.style.display);
|
|
|
| searchManager.setMatchesFound(true);
|
| - return settingsMain.searchContents('Query2');
|
| + return settingsMain.searchContents_('Query2');
|
| }).then(function() {
|
| assertTrue(noSearchResults.hidden);
|
| });
|
| @@ -98,7 +143,7 @@ cr.define('settings_main_page', function() {
|
|
|
| searchManager.setMatchesFound(false);
|
| // Clearing the search box is effectively a search for the empty string.
|
| - return settingsMain.searchContents('').then(function() {
|
| + return settingsMain.searchContents_('').then(function() {
|
| Polymer.dom.flush();
|
| assertTrue(noSearchResults.hidden);
|
| assertNotEquals('none', toggleContainer.style.display);
|
| @@ -115,9 +160,9 @@ cr.define('settings_main_page', function() {
|
| function assertPageVisibilityAfterSearch(
|
| expectedBasic, expectedAdvanced) {
|
| searchManager.setMatchesFound(true);
|
| - return settingsMain.searchContents('Query1').then(function() {
|
| + return settingsMain.searchContents_('Query1').then(function() {
|
| searchManager.setMatchesFound(false);
|
| - return settingsMain.searchContents('');
|
| + return settingsMain.searchContents_('');
|
| }).then(function() {
|
| Polymer.dom.flush();
|
| assertEquals(
|
| @@ -153,7 +198,7 @@ cr.define('settings_main_page', function() {
|
| Polymer.dom.flush();
|
|
|
| searchManager.setMatchesFound(true);
|
| - return settingsMain.searchContents('Query1').then(function() {
|
| + return settingsMain.searchContents_('Query1').then(function() {
|
| // Simulate navigating into a subpage.
|
| settings.navigateTo(settings.Route.SEARCH_ENGINES);
|
| settingsMain.$$('settings-basic-page').fire('subpage-expand');
|
|
|