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

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

Issue 2930953002: MD Settings: Sort "other" search engines alphabetically. (Closed)
Patch Set: Add test. Created 3 years, 6 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
« no previous file with comments | « chrome/browser/resources/settings/search_engines_page/search_engines_page.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/webui/settings/search_engines_page_test.js
diff --git a/chrome/test/data/webui/settings/search_engines_page_test.js b/chrome/test/data/webui/settings/search_engines_page_test.js
index 36be7c2b314606427029323833b8a7f91c23eaee..55090acee83b67ea322946205fe3c1de21b21968 100644
--- a/chrome/test/data/webui/settings/search_engines_page_test.js
+++ b/chrome/test/data/webui/settings/search_engines_page_test.js
@@ -4,31 +4,32 @@
cr.define('settings_search_engines_page', function() {
/**
+ * @param {string} name
* @param {boolean} canBeDefault
* @param {boolean} canBeEdited
* @param {boolean} canBeRemoved
* @return {!SearchEngine}
*/
- var createSampleSearchEngine = function(
- canBeDefault, canBeEdited, canBeRemoved) {
+ function createSampleSearchEngine(
+ name, canBeDefault, canBeEdited, canBeRemoved) {
return {
canBeDefault: canBeDefault,
canBeEdited: canBeEdited,
canBeRemoved: canBeRemoved,
default: false,
- displayName: "Google displayName",
+ displayName: name + " displayName",
iconURL: "http://www.google.com/favicon.ico",
isOmniboxExtension: false,
keyword: "google.com",
modelIndex: 0,
- name: "Google",
+ name: name,
url: "https://search.foo.com/search?p=%s",
urlLocked: false,
};
- };
+ }
/** @return {!SearchEngine} */
- var createSampleOmniboxExtension = function() {
+ function createSampleOmniboxExtension() {
return {
canBeDefault: false,
canBeEdited: false,
@@ -47,7 +48,7 @@ cr.define('settings_search_engines_page', function() {
url: "chrome-extension://dummyextensionid/?q=%s",
urlLocked: false
};
- };
+ }
function registerDialogTests() {
suite('AddSearchEngineDialogTests', function() {
@@ -146,7 +147,7 @@ cr.define('settings_search_engines_page', function() {
var browserProxy = null;
/** @type {!SearchEngine} */
- var searchEngine = createSampleSearchEngine(true, true, true);
+ var searchEngine = createSampleSearchEngine('G', true, true, true);
setup(function() {
browserProxy = new settings_search.TestSearchEnginesBrowserProxy();
@@ -248,24 +249,25 @@ cr.define('settings_search_engines_page', function() {
test('Remove_Disabled', function() {
testButtonDisabled(
- createSampleSearchEngine(true, true, false), 'delete');
+ createSampleSearchEngine('G', true, true, false), 'delete');
});
test('MakeDefault_Disabled', function() {
testButtonDisabled(
- createSampleSearchEngine(false, true, true), 'makeDefault');
+ createSampleSearchEngine('G', false, true, true), 'makeDefault');
});
test('Edit_Disabled', function() {
- testButtonDisabled(createSampleSearchEngine(true, false, true), 'edit');
+ testButtonDisabled(
+ createSampleSearchEngine('G', true, false, true), 'edit');
});
test('All_Disabled', function() {
- entry.engine = createSampleSearchEngine(true, false, false);
+ entry.engine = createSampleSearchEngine('G', true, false, false);
Polymer.dom.flush();
assertTrue(entry.hasAttribute('show-dots_'));
- entry.engine = createSampleSearchEngine(false, false, false);
+ entry.engine = createSampleSearchEngine('G', false, false, false);
Polymer.dom.flush();
assertFalse(entry.hasAttribute('show-dots_'));
});
@@ -281,14 +283,24 @@ cr.define('settings_search_engines_page', function() {
/** @type {!SearchEnginesInfo} */
var searchEnginesInfo = {
- defaults: [createSampleSearchEngine()],
- others: [],
+ defaults: [createSampleSearchEngine('G', false, false, false)],
+ others: [
+ createSampleSearchEngine('B', false, false, false),
+ createSampleSearchEngine('A', false, false, false),
+ ],
extensions: [createSampleOmniboxExtension()],
};
setup(function() {
browserProxy = new settings_search.TestSearchEnginesBrowserProxy();
- browserProxy.setSearchEnginesInfo(searchEnginesInfo);
+
+ // Purposefully pass a clone of |searchEnginesInfo| to avoid any
+ // mutations on ground truth data.
+ browserProxy.setSearchEnginesInfo({
+ defaults: searchEnginesInfo.defaults.slice(),
+ others: searchEnginesInfo.others.slice(),
+ extensions: searchEnginesInfo.extensions.slice(),
+ });
settings.SearchEnginesBrowserProxyImpl.instance_ = browserProxy;
PolymerTest.clearBody();
page = document.createElement('settings-search-engines-page');
@@ -320,6 +332,15 @@ cr.define('settings_search_engines_page', function() {
assertEquals(
searchEnginesInfo.others.length, othersEntries.length);
+ // Ensure that the search engines have reverse alphabetical order in the
+ // model.
+ assertGT(
+ searchEnginesInfo.others[0].name, searchEnginesInfo.others[1].name);
+
+ // Ensure that they are displayed in alphabetical order.
+ assertEquals(searchEnginesInfo.others[1].name, othersEntries[0].name);
+ assertEquals(searchEnginesInfo.others[0].name, othersEntries[1].name);
+
var extensionEntries = Polymer.dom(page.shadowRoot).
querySelector('iron-list').items;
assertEquals(
@@ -329,13 +350,17 @@ cr.define('settings_search_engines_page', function() {
// Test that the "no other search engines" message is shown/hidden as
// expected.
test('NoOtherSearchEnginesMessage', function() {
+ cr.webUIListenerCallback('search-engines-changed', {
+ defaults: [], others: [], extensions: [],
+ });
+
var message = page.root.querySelector('#noOtherEngines');
assertTrue(!!message);
assertFalse(message.hasAttribute('hidden'));
cr.webUIListenerCallback('search-engines-changed', {
defaults: [],
- others: [createSampleSearchEngine()],
+ others: [createSampleSearchEngine('G', false, false, false)],
extensions: [],
});
assertTrue(message.hasAttribute('hidden'));
« no previous file with comments | « chrome/browser/resources/settings/search_engines_page/search_engines_page.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698