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

Side by Side 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, 8 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
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 cr.define('settings_search_page', function() {
6 function generateSearchEngineInfo() {
7 var searchEngines0 = settings_search.createSampleSearchEngine(
8 true, false, false);
9 searchEngines0.default = true;
10 var searchEngines1 = settings_search.createSampleSearchEngine(
11 true, false, false);
12 searchEngines1.default = false;
13 var searchEngines2 = settings_search.createSampleSearchEngine(
14 true, false, false);
15 searchEngines2.default = false;
16
17 return {
18 defaults: [searchEngines0, searchEngines1, searchEngines2],
19 others: [],
20 extensions: [],
21 };
22 }
23
24 function registerTests() {
25 suite('SearchPageTests', function() {
26 /** @type {?SettingsSearchPageElement} */
27 var page = null;
28
29 var browserProxy = null;
30
31 setup(function() {
32 browserProxy = new settings_search.TestSearchEnginesBrowserProxy();
33 browserProxy.setSearchEnginesInfo(generateSearchEngineInfo());
34 settings.SearchEnginesBrowserProxyImpl.instance_ = browserProxy;
35 PolymerTest.clearBody();
36 page = document.createElement('settings-search-page');
37 document.body.appendChild(page);
38 });
39
40 teardown(function() { page.remove(); });
41
42 // Tests that the page is querying and displaying search engine info on
43 // startup.
44 test('Initialization', function() {
45 var listboxElement = page.$$('paper-listbox');
46
47 return browserProxy.whenCalled('getSearchEnginesList').then(function() {
48 assertEquals(0, listboxElement.selected);
49
50 // Simulate a user initiated change of the default search engine.
51 listboxElement.selected = 1;
52 return browserProxy.whenCalled('setDefaultSearchEngine');
53 }).then(function() {
54 assertEquals(1, listboxElement.selected);
55
56 // Simulate a change that happened in a different tab.
57 var searchEnginesInfo = generateSearchEngineInfo();
58 searchEnginesInfo.defaults[0].default = false;
59 searchEnginesInfo.defaults[1].default = false;
60 searchEnginesInfo.defaults[2].default = true;
61
62 browserProxy.resetResolver('setDefaultSearchEngine');
63 cr.webUIListenerCallback('search-engines-changed', searchEnginesInfo);
64 assertEquals(2, listboxElement.selected);
65
66 browserProxy.whenCalled('setDefaultSearchEngine').then(function() {
67 // Since the change happened in a different tab, there should be no
68 // new call to |setDefaultSearchEngine|.
69 assertNotReached('Should not call setDefaultSearchEngine again');
70 });
71 });
72 });
73 });
74 }
75
76 return {
77 registerTests: registerTests,
78 };
79 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698