Commit 8c934ed4 authored by James Cook's avatar James Cook Committed by Commit Bot

chromeos: Port search tests for OS settings page

For now the OS settings page has similar behavior with respect to
chrome://os-settings/search=<query> URL, so copy over the browser
settings for that functionality.

Bug: 967876
Test: browser_tests
Change-Id: I95836c3f74f7f9f61fd9548cca15a2d0e1be94b9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1648909Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#667349}
parent ccb6a765
...@@ -141,6 +141,60 @@ TEST_F('OSSettingsUIBrowserTest', 'All', () => { ...@@ -141,6 +141,60 @@ TEST_F('OSSettingsUIBrowserTest', 'All', () => {
assertTrue(floatingMenu.advancedOpened); assertTrue(floatingMenu.advancedOpened);
assertTrue(ui.advancedOpenedInMenu_); assertTrue(ui.advancedOpenedInMenu_);
}); });
test('URL initiated search propagates to search box', () => {
toolbar = /** @type {!CrToolbarElement} */ (ui.$$('cr-toolbar'));
const searchField =
/** @type {CrToolbarSearchFieldElement} */ (toolbar.getSearchField());
assertEquals('', searchField.getSearchInput().value);
const query = 'foo';
settings.navigateTo(
settings.routes.BASIC, new URLSearchParams(`search=${query}`));
assertEquals(query, searchField.getSearchInput().value);
});
test('search box initiated search propagates to URL', () => {
toolbar = /** @type {!CrToolbarElement} */ (ui.$$('cr-toolbar'));
const searchField =
/** @type {CrToolbarSearchFieldElement} */ (toolbar.getSearchField());
settings.navigateTo(
settings.routes.BASIC, /* dynamicParams */ null,
/* removeSearch */ true);
assertEquals('', searchField.getSearchInput().value);
assertFalse(settings.getQueryParameters().has('search'));
let value = 'GOOG';
searchField.setValue(value);
assertEquals(value, settings.getQueryParameters().get('search'));
// Test that search queries are properly URL encoded.
value = '+++';
searchField.setValue(value);
assertEquals(value, settings.getQueryParameters().get('search'));
});
test('whitespace only search query is ignored', () => {
toolbar = /** @type {!CrToolbarElement} */ (ui.$$('cr-toolbar'));
const searchField =
/** @type {CrToolbarSearchFieldElement} */ (toolbar.getSearchField());
searchField.setValue(' ');
let urlParams = settings.getQueryParameters();
assertFalse(urlParams.has('search'));
searchField.setValue(' foo');
urlParams = settings.getQueryParameters();
assertEquals('foo', urlParams.get('search'));
searchField.setValue(' foo ');
urlParams = settings.getQueryParameters();
assertEquals('foo ', urlParams.get('search'));
searchField.setValue(' ');
urlParams = settings.getQueryParameters();
assertFalse(urlParams.has('search'));
});
}); });
mocha.run(); mocha.run();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment