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

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

Issue 2827553002: MD Settings: Use a browser proxy from the languages page. Re-enable test. (Closed)
Patch Set: Address @dbeam feedback Created 3 years, 8 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
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,

Powered by Google App Engine
This is Rietveld 408576698