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

Unified Diff: chrome/test/data/webui/settings/search_page_test.js

Issue 1836583003: MD Settings: Use paper-dropdown-menu for search engines. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Change paper-item to div Created 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/webui/settings/search_page_test.js
diff --git a/chrome/test/data/webui/settings/search_page_test.js b/chrome/test/data/webui/settings/search_page_test.js
new file mode 100644
index 0000000000000000000000000000000000000000..ac192e250a1d0c223c453905831dae43f87bd053
--- /dev/null
+++ b/chrome/test/data/webui/settings/search_page_test.js
@@ -0,0 +1,79 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+cr.define('settings_search_page', function() {
+ function generateSearchEngineInfo() {
+ var searchEngines0 = settings_search.createSampleSearchEngine(
+ true, false, false);
+ searchEngines0.default = true;
+ var searchEngines1 = settings_search.createSampleSearchEngine(
+ true, false, false);
+ searchEngines1.default = false;
+ var searchEngines2 = settings_search.createSampleSearchEngine(
+ true, false, false);
+ searchEngines2.default = false;
+
+ return {
+ defaults: [searchEngines0, searchEngines1, searchEngines2],
+ others: [],
+ extensions: [],
+ };
+ }
+
+ function registerTests() {
+ suite('SearchPageTests', function() {
+ /** @type {?SettingsSearchPageElement} */
+ var page = null;
+
+ var browserProxy = null;
+
+ setup(function() {
+ browserProxy = new settings_search.TestSearchEnginesBrowserProxy();
+ browserProxy.setSearchEnginesInfo(generateSearchEngineInfo());
+ settings.SearchEnginesBrowserProxyImpl.instance_ = browserProxy;
+ PolymerTest.clearBody();
+ page = document.createElement('settings-search-page');
+ document.body.appendChild(page);
+ });
+
+ teardown(function() { page.remove(); });
+
+ // Tests that the page is querying and displaying search engine info on
+ // startup.
+ test('Initialization', function() {
+ var listboxElement = page.$$('paper-listbox');
+
+ return browserProxy.whenCalled('getSearchEnginesList').then(function() {
+ assertEquals(0, listboxElement.selected);
+
+ // Simulate a user initiated change of the default search engine.
+ listboxElement.selected = 1;
+ return browserProxy.whenCalled('setDefaultSearchEngine');
+ }).then(function() {
+ assertEquals(1, listboxElement.selected);
+
+ // Simulate a change that happened in a different tab.
+ var searchEnginesInfo = generateSearchEngineInfo();
+ searchEnginesInfo.defaults[0].default = false;
+ searchEnginesInfo.defaults[1].default = false;
+ searchEnginesInfo.defaults[2].default = true;
+
+ browserProxy.resetResolver('setDefaultSearchEngine');
+ cr.webUIListenerCallback('search-engines-changed', searchEnginesInfo);
+ assertEquals(2, listboxElement.selected);
+
+ browserProxy.whenCalled('setDefaultSearchEngine').then(function() {
+ // Since the change happened in a different tab, there should be no
+ // new call to |setDefaultSearchEngine|.
+ assertNotReached('Should not call setDefaultSearchEngine again');
+ });
+ });
+ });
+ });
+ }
+
+ return {
+ registerTests: registerTests,
+ };
+});

Powered by Google App Engine
This is Rietveld 408576698