| 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_page', function() { | 5 cr.define('settings_languages_page', function() { |
| 6 suite('settings-languages-singleton', function() { | 6 suite('settings-languages-singleton', function() { |
| 7 var languageSettingsPrivate; | 7 var languageSettingsPrivate; |
| 8 var languageHelper; | 8 var languageHelper; |
| 9 var settingsPrefs; | 9 var settingsPrefs; |
| 10 var fakePrefs = [{ | 10 var fakePrefs = [{ |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 languageHelper.moveLanguage('en-CA', 1); | 118 languageHelper.moveLanguage('en-CA', 1); |
| 119 assertEquals('sw', languageHelper.languages.enabled[0].language.code); | 119 assertEquals('sw', languageHelper.languages.enabled[0].language.code); |
| 120 assertEquals('en-US', languageHelper.languages.enabled[1].language.code); | 120 assertEquals('en-US', languageHelper.languages.enabled[1].language.code); |
| 121 assertEquals('en-CA', languageHelper.languages.enabled[2].language.code); | 121 assertEquals('en-CA', languageHelper.languages.enabled[2].language.code); |
| 122 }); | 122 }); |
| 123 | 123 |
| 124 if (cr.isChromeOS) { | 124 if (cr.isChromeOS) { |
| 125 test('modifying input methods', function() { | 125 test('modifying input methods', function() { |
| 126 assertEquals(2, languageHelper.languages.inputMethods.enabled.length); | 126 assertEquals(2, languageHelper.languages.inputMethods.enabled.length); |
| 127 var inputMethods = languageHelper.getInputMethodsForLanguage('en-US'); | 127 var inputMethods = languageHelper.getInputMethodsForLanguage('en-US'); |
| 128 assertEquals(2, inputMethods.length); | 128 assertEquals(3, inputMethods.length); |
| 129 | 129 |
| 130 // We can remove one input method. |
| 130 var dvorak = | 131 var dvorak = |
| 131 '_comp_ime_fgoepimhcoialccpbmpnnblemnepkkaoxkb:us:dvorak:eng'; | 132 '_comp_ime_fgoepimhcoialccpbmpnnblemnepkkaoxkb:us:dvorak:eng'; |
| 132 languageHelper.removeInputMethod(dvorak); | 133 languageHelper.removeInputMethod(dvorak); |
| 133 assertEquals(1, languageHelper.languages.inputMethods.enabled.length); | 134 assertEquals(1, languageHelper.languages.inputMethods.enabled.length); |
| 134 | 135 |
| 135 // TODO(michaelpg): Test other modifications. | 136 // Enable Swahili. |
| 137 languageHelper.enableLanguage('sw'); |
| 138 assertEquals(1, languageHelper.languages.inputMethods.enabled.length); |
| 139 |
| 140 // Add input methods for Swahili. |
| 141 var sw = '_comp_ime_abcdefghijklmnopqrstuvwxyzabcdefxkb:sw:sw'; |
| 142 var swUS = '_comp_ime_abcdefghijklmnopqrstuvwxyzabcdefxkb:us:sw'; |
| 143 languageHelper.addInputMethod(sw); |
| 144 languageHelper.addInputMethod(swUS); |
| 145 assertEquals(3, languageHelper.languages.inputMethods.enabled.length); |
| 146 |
| 147 // Disable Swahili. The Swahili-only keyboard should be removed. |
| 148 languageHelper.disableLanguage('sw'); |
| 149 assertEquals(2, languageHelper.languages.inputMethods.enabled.length); |
| 150 |
| 151 // The US Swahili keyboard should still be enabled, because it supports |
| 152 // English which is still enabled. |
| 153 assertTrue(languageHelper.languages.inputMethods.enabled.some( |
| 154 function(inputMethod) { |
| 155 return inputMethod.id == swUS; |
| 156 })); |
| 136 }); | 157 }); |
| 137 } | 158 } |
| 138 }); | 159 }); |
| 139 }); | 160 }); |
| OLD | NEW |