14e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka/* 24e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * Copyright (C) 2014 The Android Open Source Project 34e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * 44e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * Licensed under the Apache License, Version 2.0 (the "License"); 54e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * you may not use this file except in compliance with the License. 64e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * You may obtain a copy of the License at 74e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * 84e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * http://www.apache.org/licenses/LICENSE-2.0 94e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * 104e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * Unless required by applicable law or agreed to in writing, software 114e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * distributed under the License is distributed on an "AS IS" BASIS, 124e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * See the License for the specific language governing permissions and 144e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * limitations under the License. 154e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka */ 164e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka 174e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokapackage com.android.inputmethod.keyboard.layout.tests; 184e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka 194e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokaimport android.test.suitebuilder.annotation.SmallTest; 204e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka 214e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.LayoutBase; 224e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.SouthSlavic; 234e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.SouthSlavic.SouthSlavicLayoutCustomizer; 244e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.Symbols; 254e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.expected.ExpectedKey; 264e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder; 274e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka 284e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokaimport java.util.Locale; 294e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka 304e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka/** 314e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * mk: Macedonian/south_slavic 324e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka */ 334e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka@SmallTest 344e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokapublic final class TestsMacedonian extends LayoutTestsBase { 354e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka private static final Locale LOCALE = new Locale("mk"); 364e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka private static final LayoutBase LAYOUT = new SouthSlavic(new MacedonianCustomizer(LOCALE)); 374e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka 384e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka @Override 394e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka LayoutBase getLayout() { return LAYOUT; } 404e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka 414e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka private static class MacedonianCustomizer extends SouthSlavicLayoutCustomizer { 424e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka public MacedonianCustomizer(final Locale locale) { super(locale); } 434e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka 444e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka @Override 454e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka public ExpectedKey[] getDoubleQuoteMoreKeys() { return Symbols.DOUBLE_QUOTES_R9L; } 464e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka 474e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka @Override 484e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka public ExpectedKey[] getSingleQuoteMoreKeys() { return Symbols.SINGLE_QUOTES_R9L; } 494e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka 504e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka @Override 514e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka public ExpectedKeyboardBuilder setAccentedLetters(final ExpectedKeyboardBuilder builder) { 524e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka return builder 534e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka // U+0435: "е" CYRILLIC SMALL LETTER IE 544e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka // U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE 550dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka .setMoreKeysOf("\u0435", "\u0450") 564e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka // U+0455: "ѕ" CYRILLIC SMALL LETTER DZE 570dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka .replaceKeyOfLabel(SouthSlavic.ROW1_6, key("\u0455", additionalMoreKey("6"))) 584e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka // U+0438: "и" CYRILLIC SMALL LETTER I 594e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka // U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE 600dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka .setMoreKeysOf("\u0438", "\u045D") 614e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka // U+045C: "ќ" CYRILLIC SMALL LETTER KJE 620dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka .replaceKeyOfLabel(SouthSlavic.ROW2_11, "\u045C") 634e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka // U+0437: "з" CYRILLIC SMALL LETTER ZE 640dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka .replaceKeyOfLabel(SouthSlavic.ROW3_1, "\u0437") 654e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka // U+0453: "ѓ" CYRILLIC SMALL LETTER GJE 660dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka .replaceKeyOfLabel(SouthSlavic.ROW3_8, "\u0453"); 674e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka } 684e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka } 694e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka} 70