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

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

Issue 2144453002: MD Settings: Fix editing name of default search engine. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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/search_engines_page/search_engine_dialog.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_search_engines_page', function() { 5 cr.define('settings_search_engines_page', function() {
6 /** 6 /**
7 * @param {boolean} canBeDefault 7 * @param {boolean} canBeDefault
8 * @param {boolean} canBeEdited 8 * @param {boolean} canBeEdited
9 * @param {boolean} canBeRemoved 9 * @param {boolean} canBeRemoved
10 * @return {!SearchEngine} 10 * @return {!SearchEngine}
11 */ 11 */
12 var createSampleSearchEngine = function( 12 var createSampleSearchEngine = function(
13 canBeDefault, canBeEdited, canBeRemoved) { 13 canBeDefault, canBeEdited, canBeRemoved) {
14 return { 14 return {
15 canBeDefault: canBeDefault, 15 canBeDefault: canBeDefault,
16 canBeEdited: canBeEdited, 16 canBeEdited: canBeEdited,
17 canBeRemoved: canBeRemoved, 17 canBeRemoved: canBeRemoved,
18 default: false, 18 default: false,
19 displayName: "Google", 19 displayName: "Google displayName",
20 iconURL: "http://www.google.com/favicon.ico", 20 iconURL: "http://www.google.com/favicon.ico",
21 isOmniboxExtension: false, 21 isOmniboxExtension: false,
22 keyword: "google.com", 22 keyword: "google.com",
23 modelIndex: 0, 23 modelIndex: 0,
24 name: "Google", 24 name: "Google",
25 url: "https://search.foo.com/search?p=%s", 25 url: "https://search.foo.com/search?p=%s",
26 urlLocked: false, 26 urlLocked: false,
27 }; 27 };
28 }; 28 };
29 29
30 /** @return {!SearchEngine} */ 30 /** @return {!SearchEngine} */
31 var createSampleOmniboxExtension = function() { 31 var createSampleOmniboxExtension = function() {
32 return { 32 return {
33 canBeDefault: false, 33 canBeDefault: false,
34 canBeEdited: false, 34 canBeEdited: false,
35 canBeRemoved: false, 35 canBeRemoved: false,
36 default: false, 36 default: false,
37 displayName: "Omnibox extension", 37 displayName: "Omnibox extension displayName",
38 extension: { 38 extension: {
39 icon: "chrome://extension-icon/some-extension-icon", 39 icon: "chrome://extension-icon/some-extension-icon",
40 id: "dummyextensionid", 40 id: "dummyextensionid",
41 name: "Omnibox extension" 41 name: "Omnibox extension"
42 }, 42 },
43 isOmniboxExtension: true, 43 isOmniboxExtension: true,
44 keyword: "oe", 44 keyword: "oe",
45 modelIndex: 6, 45 modelIndex: 6,
46 name: "Omnibox extension", 46 name: "Omnibox extension",
47 url: "chrome-extension://dummyextensionid/?q=%s", 47 url: "chrome-extension://dummyextensionid/?q=%s",
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 }); 136 });
137 137
138 }); 138 });
139 } 139 }
140 140
141 function registerSearchEngineEntryTests() { 141 function registerSearchEngineEntryTests() {
142 suite('SearchEngineEntryTests', function() { 142 suite('SearchEngineEntryTests', function() {
143 /** @type {?SettingsSearchEngineEntryElement} */ 143 /** @type {?SettingsSearchEngineEntryElement} */
144 var entry = null; 144 var entry = null;
145 145
146 /** @type {!settings_search.TestSearchEnginesBrowserProxy} */
146 var browserProxy = null; 147 var browserProxy = null;
147 148
149 /** @type {!SearchEngine} */
150 var searchEngine = createSampleSearchEngine(true, true, true);
151
148 setup(function() { 152 setup(function() {
149 browserProxy = new settings_search.TestSearchEnginesBrowserProxy(); 153 browserProxy = new settings_search.TestSearchEnginesBrowserProxy();
150 settings.SearchEnginesBrowserProxyImpl.instance_ = browserProxy; 154 settings.SearchEnginesBrowserProxyImpl.instance_ = browserProxy;
151 PolymerTest.clearBody(); 155 PolymerTest.clearBody();
152 entry = document.createElement('settings-search-engine-entry'); 156 entry = document.createElement('settings-search-engine-entry');
153 entry.set('engine', createSampleSearchEngine(true, true, true)); 157 entry.set('engine', searchEngine);
154 document.body.appendChild(entry); 158 document.body.appendChild(entry);
155 }); 159 });
156 160
157 teardown(function() { entry.remove(); }); 161 teardown(function() { entry.remove(); });
158 162
163 // Test that the <search-engine-entry> is populated according to its
164 // underlying SearchEngine model.
165 test('Initialization', function() {
166 var nameElement = entry.$$('.name');
167 assertTrue(!!nameElement);
168 assertEquals(searchEngine.displayName, nameElement.textContent);
169
170 var keywordElement = entry.$$('.keyword-column');
171 assertTrue(!!keywordElement);
172 assertEquals(searchEngine.keyword, keywordElement.textContent);
173
174 var urlElement = entry.$$('.url-column');
175 assertTrue(!!urlElement);
176 assertEquals(searchEngine.url, urlElement.textContent);
177 });
178
159 test('Remove_Enabled', function() { 179 test('Remove_Enabled', function() {
160 var deleteButton = entry.$.delete; 180 var deleteButton = entry.$.delete;
161 assertTrue(!!deleteButton); 181 assertTrue(!!deleteButton);
162 assertFalse(deleteButton.hidden); 182 assertFalse(deleteButton.hidden);
163 MockInteractions.tap(deleteButton); 183 MockInteractions.tap(deleteButton);
164 return browserProxy.whenCalled('removeSearchEngine').then( 184 return browserProxy.whenCalled('removeSearchEngine').then(
165 function(modelIndex) { 185 function(modelIndex) {
166 assertEquals(entry.engine.modelIndex, modelIndex); 186 assertEquals(entry.engine.modelIndex, modelIndex);
167 }); 187 });
168 }); 188 });
(...skipping 15 matching lines...) Expand all
184 assertTrue(!!editButton); 204 assertTrue(!!editButton);
185 assertFalse(editButton.hidden); 205 assertFalse(editButton.hidden);
186 MockInteractions.tap(editButton); 206 MockInteractions.tap(editButton);
187 return browserProxy.whenCalled('searchEngineEditStarted').then( 207 return browserProxy.whenCalled('searchEngineEditStarted').then(
188 function(modelIndex) { 208 function(modelIndex) {
189 assertEquals(engine.modelIndex, modelIndex); 209 assertEquals(engine.modelIndex, modelIndex);
190 var dialog = entry.$$('settings-search-engine-dialog'); 210 var dialog = entry.$$('settings-search-engine-dialog');
191 assertTrue(!!dialog); 211 assertTrue(!!dialog);
192 212
193 // Check that the paper-input fields are pre-populated. 213 // Check that the paper-input fields are pre-populated.
194 assertEquals(engine.displayName, dialog.$.searchEngine.value); 214 assertEquals(engine.name, dialog.$.searchEngine.value);
195 assertEquals(engine.keyword, dialog.$.keyword.value); 215 assertEquals(engine.keyword, dialog.$.keyword.value);
196 assertEquals(engine.url, dialog.$.queryUrl.value); 216 assertEquals(engine.url, dialog.$.queryUrl.value);
197 217
198 assertFalse(dialog.$.actionButton.disabled); 218 assertFalse(dialog.$.actionButton.disabled);
199 }); 219 });
200 }); 220 });
201 221
202 /** 222 /**
203 * Checks that the given button is disabled (by being hidden), for the 223 * Checks that the given button is disabled (by being hidden), for the
204 * given search engine. 224 * given search engine.
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 357
338 return { 358 return {
339 registerTests: function() { 359 registerTests: function() {
340 registerDialogTests(); 360 registerDialogTests();
341 registerSearchEngineEntryTests(); 361 registerSearchEngineEntryTests();
342 registerOmniboxExtensionEntryTests(); 362 registerOmniboxExtensionEntryTests();
343 registerPageTests(); 363 registerPageTests();
344 }, 364 },
345 }; 365 };
346 }); 366 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/settings/search_engines_page/search_engine_dialog.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698