| Index: chrome/test/data/webui/settings/languages_tests.js
|
| diff --git a/chrome/test/data/webui/settings/languages_tests.js b/chrome/test/data/webui/settings/languages_tests.js
|
| index 7d6f583311f7a1ec97693c1f27466a8741f66c31..e80a106b09526671a5b50911008e8119d3fc6d7d 100644
|
| --- a/chrome/test/data/webui/settings/languages_tests.js
|
| +++ b/chrome/test/data/webui/settings/languages_tests.js
|
| @@ -4,6 +4,55 @@
|
|
|
| cr.define('settings-languages', function() {
|
| /**
|
| + * @constructor
|
| + * @implements {settings.LanguagesBrowserProxy}
|
| + * @extends {settings.TestBrowserProxy}
|
| + */
|
| + var TestLanguagesBrowserProxy = function() {
|
| + var methodNames = [];
|
| + if (cr.isChromeOS || cr.isWindows)
|
| + methodNames.push('getProspectiveUILanguage');
|
| +
|
| + settings.TestBrowserProxy.call(this, methodNames);
|
| +
|
| + this.languageSettingsPrivate_ = null;
|
| + this.inputMethodPrivate_ = null;
|
| + };
|
| +
|
| + TestLanguagesBrowserProxy.prototype = {
|
| + __proto__: settings.TestBrowserProxy.prototype,
|
| +
|
| + /** @override */
|
| + getLanguageSettingsPrivate: function() {
|
| + return this.languageSettingsPrivate_;
|
| + },
|
| +
|
| + /** @param {!LanguagesSettingsPrivate} languageSettingsPrivate */
|
| + setLanguageSettingsPrivate: function(languageSettingsPrivate) {
|
| + this.languageSettingsPrivate_ = languageSettingsPrivate;
|
| + },
|
| +
|
| + /** @override */
|
| + getInputMethodPrivate: function() {
|
| + return this.inputMethodPrivate_;
|
| + },
|
| +
|
| + /** @param {!LanguagesSettingsPrivate} inputMethodPrivate */
|
| + setInputMethodPrivate: function(inputMethodPrivate) {
|
| + this.inputMethodPrivate_ = inputMethodPrivate;
|
| + },
|
| + };
|
| +
|
| + if (cr.isChromeOS || cr.isWindows) {
|
| + /** @override */
|
| + TestLanguagesBrowserProxy.prototype.getProspectiveUILanguage =
|
| + function() {
|
| + this.methodCalled('getProspectiveUILanguage');
|
| + return Promise.resolve('en-US');
|
| + };
|
| + }
|
| +
|
| + /**
|
| * Data-binds two Polymer properties using the property-changed events and
|
| * set/notifyPath API. Useful for testing components which would normally be
|
| * used together.
|
| @@ -74,8 +123,10 @@ cr.define('settings-languages', function() {
|
| }
|
| }
|
|
|
| + /** @type {?settings.LanguagesBrowserProxy} */
|
| + var browserProxy = null;
|
| +
|
| var languageHelper;
|
| - var languageSettingsPrivate;
|
|
|
| suiteSetup(function() {
|
| CrSettingsPrefs.deferInitialization = true;
|
| @@ -88,17 +139,17 @@ cr.define('settings-languages', function() {
|
| settingsPrefs.initialize(settingsPrivate);
|
| document.body.appendChild(settingsPrefs);
|
|
|
| - languageSettingsPrivate = new settings.FakeLanguageSettingsPrivate();
|
| + // Setup test browser proxy.
|
| + browserProxy = new TestLanguagesBrowserProxy();
|
| + settings.LanguagesBrowserProxyImpl.instance_ = browserProxy;
|
| +
|
| + // Setup fake languageSettingsPrivate API.
|
| + var languageSettingsPrivate = new settings.FakeLanguageSettingsPrivate();
|
| languageSettingsPrivate.setSettingsPrefs(settingsPrefs);
|
| - settings.languageSettingsPrivateApiForTest = languageSettingsPrivate;
|
| + browserProxy.setLanguageSettingsPrivate(languageSettingsPrivate);
|
|
|
| - var getProspectiveUILanguageCalled = false;
|
| - registerMessageCallback('getProspectiveUILanguage', null,
|
| - function(callbackId) {
|
| - assertFalse(getProspectiveUILanguageCalled);
|
| - getProspectiveUILanguageCalled = true;
|
| - cr.webUIResponse(callbackId, true, 'en-US');
|
| - });
|
| + // Setup fake inputMethodPrivate API.
|
| + browserProxy.setInputMethodPrivate(new settings.FakeInputMethodPrivate());
|
|
|
| languageHelper = document.createElement('settings-languages');
|
|
|
| @@ -107,12 +158,13 @@ cr.define('settings-languages', function() {
|
|
|
| document.body.appendChild(languageHelper);
|
| return languageHelper.whenReady().then(function() {
|
| - assertEquals(
|
| - cr.isChromeOS || cr.isWindows, getProspectiveUILanguageCalled);
|
| + if (cr.isChromeOS || cr.isWindows)
|
| + return browserProxy.whenCalled('getProspectiveUILanguage');
|
| });
|
| });
|
|
|
| test('languages model', function() {
|
| + var languageSettingsPrivate = browserProxy.getLanguageSettingsPrivate();
|
| for (var i = 0; i < languageSettingsPrivate.languages.length;
|
| i++) {
|
| assertEquals(languageSettingsPrivate.languages[i].code,
|
|
|