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