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

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

Issue 2254113002: MD Settings: reduce complexity and overhead of prefs singleton (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@SimplifyLanguages
Patch Set: test fix Created 4 years, 4 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
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-languages', function() { 5 cr.define('settings-languages', function() {
6 /** 6 /**
7 * Data-binds two Polymer properties using the property-changed events and 7 * Data-binds two Polymer properties using the property-changed events and
8 * set/notifyPath API. Useful for testing components which would normally be 8 * set/notifyPath API. Useful for testing components which would normally be
9 * used together. 9 * used together.
10 * @param {!HTMLElement} el1 10 * @param {!HTMLElement} el1
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 var languageHelper; 66 var languageHelper;
67 var languageSettingsPrivate; 67 var languageSettingsPrivate;
68 68
69 suiteSetup(function() { 69 suiteSetup(function() {
70 CrSettingsPrefs.deferInitialization = true; 70 CrSettingsPrefs.deferInitialization = true;
71 }); 71 });
72 72
73 setup(function() { 73 setup(function() {
74 var settingsPrefs = document.createElement('settings-prefs'); 74 var settingsPrefs = document.createElement('settings-prefs');
75 var settingsPrivate = new settings.FakeSettingsPrivate(getFakePrefs()); 75 var settingsPrivate = new settings.FakeSettingsPrivate(getFakePrefs());
76 settingsPrefs.initializeForTesting(settingsPrivate); 76 settingsPrefs.initialize(settingsPrivate);
77 77
78 languageSettingsPrivate = new settings.FakeLanguageSettingsPrivate(); 78 languageSettingsPrivate = new settings.FakeLanguageSettingsPrivate();
79 languageSettingsPrivate.setSettingsPrefs(settingsPrefs); 79 languageSettingsPrivate.setSettingsPrefs(settingsPrefs);
80 settings.languageSettingsPrivateApiForTest = languageSettingsPrivate; 80 settings.languageSettingsPrivateApiForTest = languageSettingsPrivate;
81 81
82 languageHelper = document.createElement('settings-languages'); 82 languageHelper = document.createElement('settings-languages');
83 assertEquals(languageHelper, settings.LanguageHelperImpl.getInstance()); 83 assertEquals(languageHelper, settings.LanguageHelperImpl.getInstance());
84 84
85 // Prefs would normally be data-bound to settings-languages. 85 // Prefs would normally be data-bound to settings-languages.
86 fakeDataBind(settingsPrefs, languageHelper, 'prefs'); 86 fakeDataBind(settingsPrefs, languageHelper, 'prefs');
(...skipping 24 matching lines...) Expand all
111 111
112 languageHelper.enableLanguage('en-CA'); 112 languageHelper.enableLanguage('en-CA');
113 assertTrue(languageHelper.isLanguageEnabled('en-CA')); 113 assertTrue(languageHelper.isLanguageEnabled('en-CA'));
114 languageHelper.disableLanguage('sw'); 114 languageHelper.disableLanguage('sw');
115 assertFalse(languageHelper.isLanguageEnabled('sw')); 115 assertFalse(languageHelper.isLanguageEnabled('sw'));
116 116
117 // TODO(michaelpg): Test other modifications. 117 // TODO(michaelpg): Test other modifications.
118 }); 118 });
119 119
120 test('reorder languages', function() { 120 test('reorder languages', function() {
121 languageHelper.enableLanguage('sw'); 121 languageHelper.enableLanguage('en-CA');
122 assertEquals('en-US', languageHelper.languages.enabled[0].language.code);
michaelpg 2016/08/18 04:22:05 the old code was assuming changes from previous te
123 assertEquals('sw', languageHelper.languages.enabled[1].language.code);
124 assertEquals('en-CA', languageHelper.languages.enabled[2].language.code);
125
126 // Can move a language up.
127 languageHelper.moveLanguage('en-CA', -1);
122 assertEquals('en-US', languageHelper.languages.enabled[0].language.code); 128 assertEquals('en-US', languageHelper.languages.enabled[0].language.code);
123 assertEquals('en-CA', languageHelper.languages.enabled[1].language.code); 129 assertEquals('en-CA', languageHelper.languages.enabled[1].language.code);
124 assertEquals('sw', languageHelper.languages.enabled[2].language.code); 130 assertEquals('sw', languageHelper.languages.enabled[2].language.code);
125 131
126 // Can move a language up.
127 languageHelper.moveLanguage('sw', -1);
128 assertEquals('en-US', languageHelper.languages.enabled[0].language.code);
129 assertEquals('sw', languageHelper.languages.enabled[1].language.code);
130 assertEquals('en-CA', languageHelper.languages.enabled[2].language.code);
131
132 // Can move a language down. 132 // Can move a language down.
133 languageHelper.moveLanguage('en-US', 1); 133 languageHelper.moveLanguage('en-US', 1);
134 assertEquals('sw', languageHelper.languages.enabled[0].language.code); 134 assertEquals('en-CA', languageHelper.languages.enabled[0].language.code);
135 assertEquals('en-US', languageHelper.languages.enabled[1].language.code); 135 assertEquals('en-US', languageHelper.languages.enabled[1].language.code);
136 assertEquals('en-CA', languageHelper.languages.enabled[2].language.code); 136 assertEquals('sw', languageHelper.languages.enabled[2].language.code);
137 137
138 // Moving the first language up has no effect. 138 // Moving the first language up has no effect.
139 languageHelper.moveLanguage('sw', -1); 139 languageHelper.moveLanguage('en-CA', -1);
140 assertEquals('sw', languageHelper.languages.enabled[0].language.code); 140 assertEquals('en-CA', languageHelper.languages.enabled[0].language.code);
141 assertEquals('en-US', languageHelper.languages.enabled[1].language.code); 141 assertEquals('en-US', languageHelper.languages.enabled[1].language.code);
142 assertEquals('en-CA', languageHelper.languages.enabled[2].language.code); 142 assertEquals('sw', languageHelper.languages.enabled[2].language.code);
143 143
144 // Moving the last language down has no effect. 144 // Moving the last language down has no effect.
145 languageHelper.moveLanguage('en-CA', 1); 145 languageHelper.moveLanguage('sw', 1);
146 assertEquals('sw', languageHelper.languages.enabled[0].language.code); 146 assertEquals('en-CA', languageHelper.languages.enabled[0].language.code);
147 assertEquals('en-US', languageHelper.languages.enabled[1].language.code); 147 assertEquals('en-US', languageHelper.languages.enabled[1].language.code);
148 assertEquals('en-CA', languageHelper.languages.enabled[2].language.code); 148 assertEquals('sw', languageHelper.languages.enabled[2].language.code);
149 }); 149 });
150 150
151 if (cr.isChromeOS) { 151 if (cr.isChromeOS) {
152 test('modifying input methods', function() { 152 test('modifying input methods', function() {
153 assertEquals(2, languageHelper.languages.inputMethods.enabled.length); 153 assertEquals(2, languageHelper.languages.inputMethods.enabled.length);
154 var inputMethods = languageHelper.getInputMethodsForLanguage('en-US'); 154 var inputMethods = languageHelper.getInputMethodsForLanguage('en-US');
155 assertEquals(3, inputMethods.length); 155 assertEquals(3, inputMethods.length);
156 156
157 // We can remove one input method. 157 // We can remove one input method.
158 var dvorak = 158 var dvorak =
(...skipping 19 matching lines...) Expand all
178 // The US Swahili keyboard should still be enabled, because it supports 178 // The US Swahili keyboard should still be enabled, because it supports
179 // English which is still enabled. 179 // English which is still enabled.
180 assertTrue(languageHelper.languages.inputMethods.enabled.some( 180 assertTrue(languageHelper.languages.inputMethods.enabled.some(
181 function(inputMethod) { 181 function(inputMethod) {
182 return inputMethod.id == swUS; 182 return inputMethod.id == swUS;
183 })); 183 }));
184 }); 184 });
185 } 185 }
186 }); 186 });
187 }); 187 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698