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

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: Remove accidental usage of getInputMethodPrivate() on non-Cros 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
« no previous file with comments | « chrome/test/data/webui/settings/fake_input_method_private.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/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..fcdd0e9b25b2e5394cc2c9388a43350a209fc60e 100644
--- a/chrome/test/data/webui/settings/languages_tests.js
+++ b/chrome/test/data/webui/settings/languages_tests.js
@@ -4,6 +4,48 @@
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);
+
+ /** @private {!LanguageSettingsPrivate} */
+ this.languageSettingsPrivate_ = new settings.FakeLanguageSettingsPrivate();
+
+ /** @private {!InputMethodPrivate} */
+ this.inputMethodPrivate_ = new settings.FakeInputMethodPrivate();
+ };
+
+ TestLanguagesBrowserProxy.prototype = {
+ __proto__: settings.TestBrowserProxy.prototype,
+
+ /** @override */
+ getLanguageSettingsPrivate: function() {
+ return this.languageSettingsPrivate_;
+ },
+
+ /** @override */
+ getInputMethodPrivate: function() {
+ return this.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 +116,10 @@ cr.define('settings-languages', function() {
}
}
+ /** @type {?settings.LanguagesBrowserProxy} */
+ var browserProxy = null;
+
var languageHelper;
- var languageSettingsPrivate;
suiteSetup(function() {
CrSettingsPrefs.deferInitialization = true;
@@ -88,17 +132,13 @@ cr.define('settings-languages', function() {
settingsPrefs.initialize(settingsPrivate);
document.body.appendChild(settingsPrefs);
- languageSettingsPrivate = new settings.FakeLanguageSettingsPrivate();
- languageSettingsPrivate.setSettingsPrefs(settingsPrefs);
- settings.languageSettingsPrivateApiForTest = languageSettingsPrivate;
+ // Setup test browser proxy.
+ browserProxy = new TestLanguagesBrowserProxy();
+ settings.LanguagesBrowserProxyImpl.instance_ = browserProxy;
- var getProspectiveUILanguageCalled = false;
- registerMessageCallback('getProspectiveUILanguage', null,
- function(callbackId) {
- assertFalse(getProspectiveUILanguageCalled);
- getProspectiveUILanguageCalled = true;
- cr.webUIResponse(callbackId, true, 'en-US');
- });
+ // Setup fake languageSettingsPrivate API.
+ var languageSettingsPrivate = browserProxy.getLanguageSettingsPrivate();
+ languageSettingsPrivate.setSettingsPrefs(settingsPrefs);
languageHelper = document.createElement('settings-languages');
@@ -107,12 +147,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,
« no previous file with comments | « chrome/test/data/webui/settings/fake_input_method_private.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698