17dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka/* 27dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka * Copyright (C) 2014 The Android Open Source Project 37dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka * 47dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka * Licensed under the Apache License, Version 2.0 (the "License"); 57dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka * you may not use this file except in compliance with the License. 67dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka * You may obtain a copy of the License at 77dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka * 87dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka * http://www.apache.org/licenses/LICENSE-2.0 97dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka * 107dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka * Unless required by applicable law or agreed to in writing, software 117dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka * distributed under the License is distributed on an "AS IS" BASIS, 127dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka * See the License for the specific language governing permissions and 147dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka * limitations under the License. 157dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka */ 167dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 177dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokapackage com.android.inputmethod.keyboard.internal; 187dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 197dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokaimport static com.android.inputmethod.keyboard.internal.LanguageOnSpacebarHelper.FORMAT_TYPE_FULL_LOCALE; 207dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokaimport static com.android.inputmethod.keyboard.internal.LanguageOnSpacebarHelper.FORMAT_TYPE_LANGUAGE_ONLY; 217dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokaimport static com.android.inputmethod.keyboard.internal.LanguageOnSpacebarHelper.FORMAT_TYPE_NONE; 227dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 237dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokaimport android.content.Context; 247dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokaimport android.test.AndroidTestCase; 257dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokaimport android.test.suitebuilder.annotation.SmallTest; 267dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokaimport android.view.inputmethod.InputMethodSubtype; 277dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 287dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokaimport com.android.inputmethod.latin.RichInputMethodManager; 297dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokaimport com.android.inputmethod.latin.utils.AdditionalSubtypeUtils; 307dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokaimport com.android.inputmethod.latin.utils.SubtypeLocaleUtils; 317dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 327dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokaimport java.util.Arrays; 337dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokaimport java.util.List; 347dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokaimport java.util.Locale; 357dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 367dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka@SmallTest 377dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaokapublic class LanguageOnSpacebarHelperTests extends AndroidTestCase { 387dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka private final LanguageOnSpacebarHelper mLanguageOnSpacebarHelper = 397dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka new LanguageOnSpacebarHelper(); 407dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 417dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka private RichInputMethodManager mRichImm; 427dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 437dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka InputMethodSubtype EN_US_QWERTY; 447dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka InputMethodSubtype EN_GB_QWERTY; 457dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka InputMethodSubtype FR_AZERTY; 467dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka InputMethodSubtype FR_CA_QWERTY; 477dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka InputMethodSubtype FR_CH_SWISS; 487dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka InputMethodSubtype FR_CH_QWERTY; 497dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka InputMethodSubtype FR_CH_QWERTZ; 507dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka InputMethodSubtype ZZ_QWERTY; 517dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 527dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka @Override 537dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka protected void setUp() throws Exception { 547dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka super.setUp(); 557dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka final Context context = getContext(); 567dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka RichInputMethodManager.init(context); 577dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mRichImm = RichInputMethodManager.getInstance(); 587dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka SubtypeLocaleUtils.init(context); 597dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 607dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka EN_US_QWERTY = mRichImm.findSubtypeByLocaleAndKeyboardLayoutSet( 617dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka Locale.US.toString(), "qwerty"); 627dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka EN_GB_QWERTY = mRichImm.findSubtypeByLocaleAndKeyboardLayoutSet( 637dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka Locale.UK.toString(), "qwerty"); 647dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka FR_AZERTY = mRichImm.findSubtypeByLocaleAndKeyboardLayoutSet( 657dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka Locale.FRENCH.toString(), "azerty"); 667dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka FR_CA_QWERTY = mRichImm.findSubtypeByLocaleAndKeyboardLayoutSet( 677dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka Locale.CANADA_FRENCH.toString(), "qwerty"); 687dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka FR_CH_SWISS = mRichImm.findSubtypeByLocaleAndKeyboardLayoutSet( 697dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka "fr_CH", "swiss"); 703895d7f8dc2e4999947f61220b86fa148f433413Yohei Yukawa FR_CH_QWERTZ = AdditionalSubtypeUtils.createAsciiEmojiCapableAdditionalSubtype( 713895d7f8dc2e4999947f61220b86fa148f433413Yohei Yukawa "fr_CH", "qwertz"); 723895d7f8dc2e4999947f61220b86fa148f433413Yohei Yukawa FR_CH_QWERTY = AdditionalSubtypeUtils.createAsciiEmojiCapableAdditionalSubtype( 733895d7f8dc2e4999947f61220b86fa148f433413Yohei Yukawa "fr_CH", "qwerty"); 747dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka ZZ_QWERTY = mRichImm.findSubtypeByLocaleAndKeyboardLayoutSet( 757dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka SubtypeLocaleUtils.NO_LANGUAGE, "qwerty"); 767dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka } 777dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 787dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka private static List<InputMethodSubtype> asList(final InputMethodSubtype ... subtypes) { 797dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka return Arrays.asList(subtypes); 807dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka } 817dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 827dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka public void testOneSubtype() { 837dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.updateEnabledSubtypes(asList(EN_US_QWERTY)); 847dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.updateIsSystemLanguageSameAsInputLanguage(true /* isSame */); 857dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("one same English (US)", FORMAT_TYPE_NONE, 867dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(EN_US_QWERTY)); 877dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("one same NoLanguage", FORMAT_TYPE_FULL_LOCALE, 887dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(ZZ_QWERTY)); 897dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 907dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.updateEnabledSubtypes(asList(FR_AZERTY)); 917dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.updateIsSystemLanguageSameAsInputLanguage(false /* isSame */); 927dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("one diff English (US)", FORMAT_TYPE_LANGUAGE_ONLY, 937dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(EN_US_QWERTY)); 947dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("one diff NoLanguage", FORMAT_TYPE_FULL_LOCALE, 957dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(ZZ_QWERTY)); 967dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka } 977dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 987dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka public void testTwoSubtypes() { 997dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.updateEnabledSubtypes(asList(EN_US_QWERTY, FR_AZERTY)); 1007dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 1017dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.updateIsSystemLanguageSameAsInputLanguage(true /* isSame */); 1027dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("two same English (US)", FORMAT_TYPE_LANGUAGE_ONLY, 1037dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(EN_US_QWERTY)); 1047dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("two same French)", FORMAT_TYPE_LANGUAGE_ONLY, 1057dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(FR_AZERTY)); 1067dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("two same NoLanguage", FORMAT_TYPE_FULL_LOCALE, 1077dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(ZZ_QWERTY)); 1087dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 1097dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.updateIsSystemLanguageSameAsInputLanguage(false /* isSame */); 1107dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("two diff English (US)", FORMAT_TYPE_LANGUAGE_ONLY, 1117dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(EN_US_QWERTY)); 1127dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("two diff French", FORMAT_TYPE_LANGUAGE_ONLY, 1137dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(FR_AZERTY)); 1147dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("two diff NoLanguage", FORMAT_TYPE_FULL_LOCALE, 1157dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(ZZ_QWERTY)); 1167dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka } 1177dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 1187dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka public void testSameLanuageSubtypes() { 1197dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.updateEnabledSubtypes( 1207dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka asList(EN_US_QWERTY, EN_GB_QWERTY, FR_AZERTY, ZZ_QWERTY)); 1217dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 1227dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.updateIsSystemLanguageSameAsInputLanguage(true /* isSame */); 1237dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("two same English (US)", FORMAT_TYPE_FULL_LOCALE, 1247dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(EN_US_QWERTY)); 1257dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("two same English (UK)", FORMAT_TYPE_FULL_LOCALE, 1267dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(EN_GB_QWERTY)); 1277dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("two same NoLanguage", FORMAT_TYPE_FULL_LOCALE, 1287dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(ZZ_QWERTY)); 1297dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 1307dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.updateIsSystemLanguageSameAsInputLanguage(false /* isSame */); 1317dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("two diff English (US)", FORMAT_TYPE_FULL_LOCALE, 1327dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(EN_US_QWERTY)); 1337dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("two diff English (UK)", FORMAT_TYPE_FULL_LOCALE, 1347dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(EN_GB_QWERTY)); 1357dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("two diff NoLanguage", FORMAT_TYPE_FULL_LOCALE, 1367dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(ZZ_QWERTY)); 1377dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka } 1387dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 1397dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka public void testMultiSameLanuageSubtypes() { 1407dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.updateEnabledSubtypes( 1417dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka asList(FR_AZERTY, FR_CA_QWERTY, FR_CH_SWISS, FR_CH_QWERTY, FR_CH_QWERTZ)); 1427dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 1437dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.updateIsSystemLanguageSameAsInputLanguage(true /* isSame */); 1447dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("multi same French", FORMAT_TYPE_LANGUAGE_ONLY, 1457dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(FR_AZERTY)); 1467dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("multi same French (CA)", FORMAT_TYPE_FULL_LOCALE, 1477dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(FR_CA_QWERTY)); 1487dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("multi same French (CH)", FORMAT_TYPE_LANGUAGE_ONLY, 1497dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(FR_CH_SWISS)); 1507dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("multi same French (CH) (QWERTY)", FORMAT_TYPE_FULL_LOCALE, 1517dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(FR_CH_QWERTY)); 1527dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("multi same French (CH) (QWERTZ)", FORMAT_TYPE_LANGUAGE_ONLY, 1537dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(FR_CH_QWERTZ)); 1547dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka 1557dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.updateIsSystemLanguageSameAsInputLanguage(false /* isSame */); 1567dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("multi diff French", FORMAT_TYPE_LANGUAGE_ONLY, 1577dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(FR_AZERTY)); 1587dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("multi diff French (CA)", FORMAT_TYPE_FULL_LOCALE, 1597dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(FR_CA_QWERTY)); 1607dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("multi diff French (CH)", FORMAT_TYPE_LANGUAGE_ONLY, 1617dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(FR_CH_SWISS)); 1627dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("multi diff French (CH) (QWERTY)", FORMAT_TYPE_FULL_LOCALE, 1637dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(FR_CH_QWERTY)); 1647dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka assertEquals("multi diff French (CH) (QWERTZ)", FORMAT_TYPE_LANGUAGE_ONLY, 1657dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(FR_CH_QWERTZ)); 1667dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka } 1677dd32dfc065c13e946c0d42a0e000f4ce7298ed7Tadashi G. Takaoka} 168