| OLD | NEW |
| 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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 assertEquals( | 72 assertEquals( |
| 73 expected[i], languageHelper.languages.enabled[i].language.code); | 73 expected[i], languageHelper.languages.enabled[i].language.code); |
| 74 } | 74 } |
| 75 } | 75 } |
| 76 | 76 |
| 77 var languageHelper; | 77 var languageHelper; |
| 78 var languageSettingsPrivate; | 78 var languageSettingsPrivate; |
| 79 | 79 |
| 80 suiteSetup(function() { | 80 suiteSetup(function() { |
| 81 CrSettingsPrefs.deferInitialization = true; | 81 CrSettingsPrefs.deferInitialization = true; |
| 82 PolymerTest.clearBody(); |
| 82 }); | 83 }); |
| 83 | 84 |
| 84 setup(function() { | 85 setup(function() { |
| 85 var settingsPrefs = document.createElement('settings-prefs'); | 86 var settingsPrefs = document.createElement('settings-prefs'); |
| 86 var settingsPrivate = new settings.FakeSettingsPrivate(getFakePrefs()); | 87 var settingsPrivate = new settings.FakeSettingsPrivate(getFakePrefs()); |
| 87 settingsPrefs.initialize(settingsPrivate); | 88 settingsPrefs.initialize(settingsPrivate); |
| 89 document.body.appendChild(settingsPrefs); |
| 88 | 90 |
| 89 languageSettingsPrivate = new settings.FakeLanguageSettingsPrivate(); | 91 languageSettingsPrivate = new settings.FakeLanguageSettingsPrivate(); |
| 90 languageSettingsPrivate.setSettingsPrefs(settingsPrefs); | 92 languageSettingsPrivate.setSettingsPrefs(settingsPrefs); |
| 91 settings.languageSettingsPrivateApiForTest = languageSettingsPrivate; | 93 settings.languageSettingsPrivateApiForTest = languageSettingsPrivate; |
| 92 | 94 |
| 93 var getProspectiveUILanguageCalled = false; | 95 var getProspectiveUILanguageCalled = false; |
| 94 registerMessageCallback('getProspectiveUILanguage', null, | 96 registerMessageCallback('getProspectiveUILanguage', null, |
| 95 function(callbackId) { | 97 function(callbackId) { |
| 96 assertFalse(getProspectiveUILanguageCalled); | 98 assertFalse(getProspectiveUILanguageCalled); |
| 97 getProspectiveUILanguageCalled = true; | 99 getProspectiveUILanguageCalled = true; |
| 98 cr.webUIResponse(callbackId, true, 'en-US'); | 100 cr.webUIResponse(callbackId, true, 'en-US'); |
| 99 }); | 101 }); |
| 100 | 102 |
| 101 languageHelper = document.createElement('settings-languages'); | 103 languageHelper = document.createElement('settings-languages'); |
| 102 | 104 |
| 103 // Prefs would normally be data-bound to settings-languages. | 105 // Prefs would normally be data-bound to settings-languages. |
| 104 fakeDataBind(settingsPrefs, languageHelper, 'prefs'); | 106 fakeDataBind(settingsPrefs, languageHelper, 'prefs'); |
| 105 | 107 |
| 108 document.body.appendChild(languageHelper); |
| 106 return languageHelper.whenReady().then(function() { | 109 return languageHelper.whenReady().then(function() { |
| 107 assertEquals( | 110 assertEquals( |
| 108 cr.isChromeOS || cr.isWindows, getProspectiveUILanguageCalled); | 111 cr.isChromeOS || cr.isWindows, getProspectiveUILanguageCalled); |
| 109 }); | 112 }); |
| 110 }); | 113 }); |
| 111 | 114 |
| 112 test('languages model', function() { | 115 test('languages model', function() { |
| 113 for (var i = 0; i < languageSettingsPrivate.languages.length; | 116 for (var i = 0; i < languageSettingsPrivate.languages.length; |
| 114 i++) { | 117 i++) { |
| 115 assertEquals(languageSettingsPrivate.languages[i].code, | 118 assertEquals(languageSettingsPrivate.languages[i].code, |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 195 // The US Swahili keyboard should still be enabled, because it supports | 198 // The US Swahili keyboard should still be enabled, because it supports |
| 196 // English which is still enabled. | 199 // English which is still enabled. |
| 197 assertTrue(languageHelper.languages.inputMethods.enabled.some( | 200 assertTrue(languageHelper.languages.inputMethods.enabled.some( |
| 198 function(inputMethod) { | 201 function(inputMethod) { |
| 199 return inputMethod.id == swUS; | 202 return inputMethod.id == swUS; |
| 200 })); | 203 })); |
| 201 }); | 204 }); |
| 202 } | 205 } |
| 203 }); | 206 }); |
| 204 }); | 207 }); |
| OLD | NEW |