1ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka/* 2ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * Copyright (C) 2014 The Android Open Source Project 3ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * 4ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * Licensed under the Apache License, Version 2.0 (the "License"); 5ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * you may not use this file except in compliance with the License. 6ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * You may obtain a copy of the License at 7ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * 8ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * http://www.apache.org/licenses/LICENSE-2.0 9ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * 10ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * Unless required by applicable law or agreed to in writing, software 11ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * distributed under the License is distributed on an "AS IS" BASIS, 12ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * See the License for the specific language governing permissions and 14ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * limitations under the License. 15ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka */ 16ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka 17ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaokapackage com.android.inputmethod.keyboard.layout.tests; 18ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka 19ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaokaimport android.test.suitebuilder.annotation.SmallTest; 20ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka 21ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.LayoutBase; 22ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.Swiss; 23ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder; 24ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka 25ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaokaimport java.util.Locale; 26ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka 27ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka/** 28ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka * fr_CH: French (Switzerland)/swiss 29ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka */ 30ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka@SmallTest 31ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaokapublic final class TestsFrenchCH extends LayoutTestsBase { 32ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka private static final Locale LOCALE = new Locale("fr", "CH"); 33ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka private static final LayoutBase LAYOUT = new Swiss(new FrenchCHCustomizer(LOCALE)); 34ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka 35ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka @Override 36ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka LayoutBase getLayout() { return LAYOUT; } 37ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka 380dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka private static class FrenchCHCustomizer extends FrenchCustomizer { 39ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka public FrenchCHCustomizer(final Locale locale) { super(locale); } 40ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka 41ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka @Override 42ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka public ExpectedKeyboardBuilder setAccentedLetters(final ExpectedKeyboardBuilder builder) { 430dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka super.setAccentedLetters(builder); 44ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka return builder 45ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 46ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 47ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka .replaceKeyOfLabel(Swiss.ROW1_11, key("\u00E8", moreKey("\u00FC"))) 48ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 49ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 50ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka .replaceKeyOfLabel(Swiss.ROW2_10, key("\u00E9", moreKey("\u00F6"))) 51ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 52ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 530dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka .replaceKeyOfLabel(Swiss.ROW2_11, key("\u00E0", moreKey("\u00E4"))); 54ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka } 55ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka } 56ffd7db77c35c37b01a4ee415ed884eb9b63bbc5dTadashi G. Takaoka} 57