diff options
Diffstat (limited to 'tests/src')
10 files changed, 44 insertions, 39 deletions
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Dvorak.java b/tests/src/com/android/inputmethod/keyboard/layout/Dvorak.java index 99cf6e50e..7ba1d7876 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/Dvorak.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/Dvorak.java @@ -51,7 +51,7 @@ public final class Dvorak extends LayoutBase { @Override public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) { - return isPhone ? joinKeys(key("q", SHORTCUT_KEY, SETTINGS_KEY)) : joinKeys(key("/")); + return isPhone ? joinKeys(key("q", SETTINGS_KEY)) : joinKeys(key("/")); } @Override diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Farsi.java b/tests/src/com/android/inputmethod/keyboard/layout/Farsi.java index a0070891a..16d2f8684 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/Farsi.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/Farsi.java @@ -91,7 +91,7 @@ public final class Farsi extends LayoutBase { @Override public ExpectedKey[] getSpaceKeys(final boolean isPhone) { - return joinKeys(SPACE_KEY, key(ZWNJ_KEY, ZWJ_KEY)); + return joinKeys(LANGUAGE_SWITCH_KEY, SPACE_KEY, key(ZWNJ_KEY, ZWJ_KEY)); } @Override diff --git a/tests/src/com/android/inputmethod/keyboard/layout/HindiCompact.java b/tests/src/com/android/inputmethod/keyboard/layout/HindiCompact.java index afd26e428..cf20149ae 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/HindiCompact.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/HindiCompact.java @@ -16,29 +16,12 @@ package com.android.inputmethod.keyboard.layout; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.SIGN_ANUSVARA; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.SIGN_CANDRABINDU; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.SIGN_NUKTA; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.SIGN_VIRAMA; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.SIGN_VISARGA; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.VOWEL_SIGN_AA; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.VOWEL_SIGN_AI; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.VOWEL_SIGN_AU; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.VOWEL_SIGN_CANDRA_E; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.VOWEL_SIGN_CANDRA_O; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.VOWEL_SIGN_E; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.VOWEL_SIGN_I; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.VOWEL_SIGN_II; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.VOWEL_SIGN_O; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.VOWEL_SIGN_U; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.VOWEL_SIGN_UU; -import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.VOWEL_SIGN_VOCALIC_R; +import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.*; import com.android.inputmethod.keyboard.layout.Hindi.HindiCustomizer; import com.android.inputmethod.keyboard.layout.Hindi.HindiSymbols; import com.android.inputmethod.keyboard.layout.expected.ExpectedKey; import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder; -import com.android.inputmethod.latin.Constants; import java.util.Locale; diff --git a/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java b/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java index 4123a22ef..e4e95548f 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java @@ -29,7 +29,6 @@ import java.util.Locale; * The base class of keyboard layout. */ public abstract class LayoutBase extends AbstractLayoutBase { - /** * This class is used to customize common keyboard layout to language specific layout. */ @@ -152,7 +151,7 @@ public abstract class LayoutBase extends AbstractLayoutBase { * keyboard. */ public ExpectedKey[] getSpaceKeys(final boolean isPhone) { - return joinKeys(SPACE_KEY); + return joinKeys(LANGUAGE_SWITCH_KEY, SPACE_KEY); } /** @@ -161,7 +160,8 @@ public abstract class LayoutBase extends AbstractLayoutBase { * @return the array of {@link ExpectedKey} that should be placed at left of the spacebar. */ public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) { - return isPhone ? joinKeys(key(",", SETTINGS_KEY)) : joinKeys("/"); + // U+002C: "," COMMA + return isPhone ? joinKeys(key("\u002C", SETTINGS_KEY)) : joinKeys("/"); } /** @@ -306,6 +306,10 @@ public abstract class LayoutBase extends AbstractLayoutBase { /** * Get common alphabet layout. This layout doesn't contain any special keys. + * + * A keyboard layout is an array of rows, and a row consists of an array of + * {@link ExpectedKey}s. Each row may have different number of {@link ExpectedKey}s. + * * @param isPhone true if requesting phone's layout. * @return the common alphabet keyboard layout. */ @@ -313,6 +317,10 @@ public abstract class LayoutBase extends AbstractLayoutBase { /** * Get common alphabet shifted layout. This layout doesn't contain any special keys. + * + * A keyboard layout is an array of rows, and a row consists of an array of + * {@link ExpectedKey}s. Each row may have different number of {@link ExpectedKey}s. + * * @param isPhone true if requesting phone's layout. * @param elementId the element id of the requesting shifted mode. * @return the common alphabet shifted keyboard layout. @@ -327,9 +335,13 @@ public abstract class LayoutBase extends AbstractLayoutBase { /** * Get the complete expected keyboard layout. + * + * A keyboard layout is an array of rows, and a row consists of an array of + * {@link ExpectedKey}s. Each row may have different number of {@link ExpectedKey}s. + * * @param isPhone true if requesting phone's layout. * @param elementId the element id of the requesting keyboard mode. - * @return + * @return the keyboard layout of the <code>elementId</code>. */ public ExpectedKey[][] getLayout(final boolean isPhone, final int elementId) { if (elementId == KeyboardId.ELEMENT_SYMBOLS) { diff --git a/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java b/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java index 7048dbb73..7933d078c 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java @@ -47,7 +47,7 @@ public final class NepaliRomanized extends LayoutBase { @Override public ExpectedKey[] getSpaceKeys(final boolean isPhone) { - return joinKeys(SPACE_KEY, key(ZWNJ_KEY, ZWJ_KEY)); + return joinKeys(LANGUAGE_SWITCH_KEY, SPACE_KEY, key(ZWNJ_KEY, ZWJ_KEY)); } // U+0930/U+0941/U+002E "रु." NEPALESE RUPEE SIGN diff --git a/tests/src/com/android/inputmethod/keyboard/layout/expected/AbstractKeyboardBuilder.java b/tests/src/com/android/inputmethod/keyboard/layout/expected/AbstractKeyboardBuilder.java index 3365b92ec..6e721047c 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/expected/AbstractKeyboardBuilder.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/expected/AbstractKeyboardBuilder.java @@ -21,9 +21,9 @@ import java.util.Arrays; /** * This class builds a keyboard that is a two dimensional array of elements <code>E</code>. * - * A keyboard consists of array of rows, and a row consists of array of elements. Each row may have - * different number of elements. A element of a keyboard can be specified by a row number and a - * column number, both numbers starts from 1. + * A keyboard consists of an array of rows, and a row consists of an array of elements. Each row + * may have different number of elements. A element of a keyboard can be specified by a row number + * and a column number, both numbers starts from 1. * * @param <E> the type of a keyboard element. A keyboard element must be an immutable object. */ @@ -39,8 +39,7 @@ abstract class AbstractKeyboardBuilder<E> { abstract E[][] newArrayOfArray(final int size); /** - * Construct a builder filled with the default element. - * @param dimensions the integer array of each row's size. + * Construct an empty builder. */ AbstractKeyboardBuilder() { mRows = newArrayOfArray(0); @@ -80,7 +79,7 @@ abstract class AbstractKeyboardBuilder<E> { * Get the current contents of the specified row. * @param row the row number to get the contents. * @return the array of elements at row number <code>row</code>. - * @throws {@link RuntimeException} if <code>row</code> is illegal. + * @throws RuntimeException if <code>row</code> is illegal. */ E[] getRowAt(final int row) { final int rowIndex = row - 1; @@ -94,7 +93,7 @@ abstract class AbstractKeyboardBuilder<E> { * Set an array of elements to the specified row. * @param row the row number to set <code>elements</code>. * @param elements the array of elements to set at row number <code>row</code>. - * @throws {@link RuntimeException} if <code>row</code> is illegal. + * @throws RuntimeException if <code>row</code> is illegal. */ void setRowAt(final int row, final E[] elements) { final int rowIndex = row - 1; @@ -114,7 +113,7 @@ abstract class AbstractKeyboardBuilder<E> { * @param element the element to set or insert at <code>row,column</code>. * @param insert if true, the <code>element</code> is inserted at <code>row,column</code>. * Otherwise the <code>element</code> replace the element at <code>row,column</code>. - * @throws {@link RuntimeException} if <code>row</code> or <code>column</code> is illegal. + * @throws RuntimeException if <code>row</code> or <code>column</code> is illegal. */ void setElementAt(final int row, final int column, final E element, final boolean insert) { final E[] elements = getRowAt(row); diff --git a/tests/src/com/android/inputmethod/keyboard/layout/expected/AbstractLayoutBase.java b/tests/src/com/android/inputmethod/keyboard/layout/expected/AbstractLayoutBase.java index 25be2a68b..9e0039d84 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/expected/AbstractLayoutBase.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/expected/AbstractLayoutBase.java @@ -19,7 +19,6 @@ package com.android.inputmethod.keyboard.layout.expected; import com.android.inputmethod.keyboard.internal.KeyboardIconsSet; import com.android.inputmethod.keyboard.layout.expected.ExpectedKey.ExpectedAdditionalMoreKey; import com.android.inputmethod.latin.Constants; -import com.android.inputmethod.latin.utils.StringUtils; /** * Base class to create an expected keyboard for unit test. diff --git a/tests/src/com/android/inputmethod/keyboard/layout/expected/ActualKeyboardBuilder.java b/tests/src/com/android/inputmethod/keyboard/layout/expected/ActualKeyboardBuilder.java index 26d2e2ad2..d0fea58b0 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/expected/ActualKeyboardBuilder.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/expected/ActualKeyboardBuilder.java @@ -28,6 +28,9 @@ import java.util.List; /** * This class builds an actual keyboard for unit test. + * + * An actual keyboard is an array of rows, and a row consists of an array of {@link Key}s. + * Each row may have different number of {@link Key}s. */ public final class ActualKeyboardBuilder extends AbstractKeyboardBuilder<Key> { private static ArrayList<Key> filterOutSpacer(final List<Key> keys) { @@ -43,7 +46,8 @@ public final class ActualKeyboardBuilder extends AbstractKeyboardBuilder<Key> { /** * Create the keyboard that consists of the array of rows of the actual keyboard's keys. - * @param sortedKeys the sorted list of keys of the actual keyboard. + * @param sortedKeys keys list of the actual keyboard that is sorted from top-left to + * bottom-right. * @return the actual keyboard grouped with rows. */ public static Key[][] buildKeyboard(final List<Key> sortedKeys) { diff --git a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyboardBuilder.java b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyboardBuilder.java index f068ad11d..e06d34d67 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyboardBuilder.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyboardBuilder.java @@ -24,6 +24,11 @@ import java.util.Locale; /** * This class builds an expected keyboard for unit test. + * + * An expected keyboard is an array of rows, and a row consists of an array of {@link ExpectedKey}s. + * Each row may have different number of {@link ExpectedKey}s. While building an expected keyboard, + * an {@link ExpectedKey} can be specified by a row number and a column number, both numbers starts + * from 1. */ public final class ExpectedKeyboardBuilder extends AbstractKeyboardBuilder<ExpectedKey> { public ExpectedKeyboardBuilder() { @@ -212,7 +217,7 @@ public final class ExpectedKeyboardBuilder extends AbstractKeyboardBuilder<Expec * @param keys the array of keys to insert at <code>row,column</code>. Each key can be * {@link ExpectedKey}, {@link ExpectedKey} array, and {@link String}. * @return this builder. - * @throws {@link RuntimeException} if <code>row</code> or <code>column</code> is illegal. + * @throws RuntimeException if <code>row</code> or <code>column</code> is illegal. */ public ExpectedKeyboardBuilder insertKeysAtRow(final int row, final int column, final Object ... keys) { @@ -229,7 +234,7 @@ public final class ExpectedKeyboardBuilder extends AbstractKeyboardBuilder<Expec * @param keys the array of keys to add on the left most of the row. Each key can be * {@link ExpectedKey}, {@link ExpectedKey} array, and {@link String}. * @return this builder. - * @throws {@link RuntimeException} if <code>row</code> is illegal. + * @throws RuntimeException if <code>row</code> is illegal. */ public ExpectedKeyboardBuilder addKeysOnTheLeftOfRow(final int row, final Object ... keys) { @@ -247,7 +252,7 @@ public final class ExpectedKeyboardBuilder extends AbstractKeyboardBuilder<Expec * @param keys the array of keys to add on the right most of the row. Each key can be * {@link ExpectedKey}, {@link ExpectedKey} array, and {@link String}. * @return this builder. - * @throws {@link RuntimeException} if <code>row</code> is illegal. + * @throws RuntimeException if <code>row</code> is illegal. */ public ExpectedKeyboardBuilder addKeysOnTheRightOfRow(final int row, final Object ... keys) { diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/LayoutTestsBase.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/LayoutTestsBase.java index 4002c49c2..d4e8fb647 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/tests/LayoutTestsBase.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/LayoutTestsBase.java @@ -51,7 +51,10 @@ abstract class LayoutTestsBase extends KeyboardLayoutSetTestsBase { mSubtype = getSubtype(mLayout.getLocale(), mLayout.getName()); mLogTag = SubtypeLocaleUtils.getSubtypeNameForLogging(mSubtype) + "/" + (isPhone() ? "phone" : "tablet"); - mKeyboardLayoutSet = createKeyboardLayoutSet(mSubtype, null /* editorInfo */); + // TODO: Test with language switch key enabled and disabled. + mKeyboardLayoutSet = createKeyboardLayoutSet(mSubtype, null /* editorInfo */, + true /* isShortcutImeEnabled */, true /* showsVoiceInputKey */, + true /* isLanguageSwitchKeyEnabled */); } // Those helper methods have a lower case name to be readable when defining expected keyboard |