| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 }); |
| OLD | NEW |