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

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: update compiled_resources 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..cb97715a248d212b2cd609f6ed9e3a0ddf01a558 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;
Dan Beam 2017/04/19 17:46:52 this.languageSettingsPrivate_ = new settings.FakeL
dpapad 2017/04/19 18:11:30 See related last comment in this file.
+ this.inputMethodPrivate_ = null;
+ };
+
+ TestLanguagesBrowserProxy.prototype = {
+ __proto__: settings.TestBrowserProxy.prototype,
+
+ /** @override */
+ getLanguageSettingsPrivate: function() {
+ return this.languageSettingsPrivate_;
+ },
+
+ /** @param {!LanguagesSettingsPrivate} private */
+ setLanguageSettingsPrivate: function(private) {
+ this.languageSettingsPrivate_ = private;
Dan Beam 2017/04/19 17:46:52 i would not recommend private as a var name
dpapad 2017/04/19 18:11:30 Done.
+ },
+
+ /** @override */
+ getInputMethodPrivate: function() {
+ return this.inputMethodPrivate_;
+ },
+
+ /** @param {!LanguagesSettingsPrivate} private */
+ setInputMethodPrivate: function(private) {
+ this.inputMethodPrivate_ = private;
+ },
+ };
+
+ 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();
Dan Beam 2017/04/19 17:46:52 why not just instantiate these directly in TestLan
dpapad 2017/04/19 18:11:30 The next line calls setSettingsPrefs() which is a
Dan Beam 2017/04/19 18:31:55 i don't see that as a requirement, and am likely n
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,
« 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