176150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka/*
276150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka * Copyright (C) 2014 The Android Open Source Project
376150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka *
476150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka * Licensed under the Apache License, Version 2.0 (the "License");
576150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka * you may not use this file except in compliance with the License.
676150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka * You may obtain a copy of the License at
776150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka *
876150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka *      http://www.apache.org/licenses/LICENSE-2.0
976150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka *
1076150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka * Unless required by applicable law or agreed to in writing, software
1176150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka * distributed under the License is distributed on an "AS IS" BASIS,
1276150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1376150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka * See the License for the specific language governing permissions and
1476150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka * limitations under the License.
1576150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka */
1676150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka
1776150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaokapackage com.android.inputmethod.keyboard.layout.tests;
1876150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka
199ea443e8c02e32bcf87134d9fe4347111baacf35Dan Zivkovicimport android.test.suitebuilder.annotation.SmallTest;
2076150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka
2176150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.BengaliAkkhor;
2276150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.LayoutBase;
2376150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.Symbols;
246959a0f214fc18e314f54213877956d95a1631e8Tadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.customizer.BengaliCustomizer;
2576150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
2676150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka
2776150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaokaimport java.util.Locale;
2876150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka
2976150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka/**
3076150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka * bn_BD: Bengali (Bangladesh)/bengali_akkhor
3176150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka */
329ea443e8c02e32bcf87134d9fe4347111baacf35Dan Zivkovic@SmallTest
3376150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaokapublic final class TestsBengaliBD extends LayoutTestsBase {
3476150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka    private static final Locale LOCALE = new Locale("bn", "BD");
3576150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka    private static final LayoutBase LAYOUT = new BengaliAkkhor(new BengaliBDCustomzier(LOCALE));
3676150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka
3776150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka    @Override
3876150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka    LayoutBase getLayout() { return LAYOUT; }
3976150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka
4076150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka    private static class BengaliBDCustomzier extends BengaliCustomizer {
416959a0f214fc18e314f54213877956d95a1631e8Tadashi G. Takaoka        BengaliBDCustomzier(final Locale locale) { super(locale); }
4276150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka
4376150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka        @Override
4476150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka        public ExpectedKey[] getRightShiftKeys(final boolean isPhone) {
456959a0f214fc18e314f54213877956d95a1631e8Tadashi G. Takaoka            return isPhone ? EMPTY_KEYS : EXCLAMATION_AND_QUESTION_MARKS;
4676150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka        }
4776150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka
4876150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka        @Override
4911cdcf604cd97055f50f88f48b19b91b72346412Tadashi G. Takaoka        public ExpectedKey[] getSpaceKeys(final boolean isPhone) {
5011cdcf604cd97055f50f88f48b19b91b72346412Tadashi G. Takaoka            return joinKeys(LANGUAGE_SWITCH_KEY, SPACE_KEY, key(ZWNJ_KEY, ZWJ_KEY));
5111cdcf604cd97055f50f88f48b19b91b72346412Tadashi G. Takaoka        }
5211cdcf604cd97055f50f88f48b19b91b72346412Tadashi G. Takaoka
5311cdcf604cd97055f50f88f48b19b91b72346412Tadashi G. Takaoka        @Override
5476150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka        public ExpectedKey getCurrencyKey() { return CURRENCY_RUPEE; }
5576150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka
5676150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka        // U+09F3: "৳" BENGALI RUPEE SIGN
5776150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka        private static final ExpectedKey CURRENCY_RUPEE = key("\u09F3",
5876150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka                Symbols.CURRENCY_GENERIC_MORE_KEYS);
5976150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka    }
6076150b813304fe98967ce4040bdcceb00a62ba0fTadashi G. Takaoka}
61