mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
Update tests
This commit is contained in:
parent
6bcc162f1e
commit
3efcbf730f
@ -40,6 +40,7 @@ import org.futo.inputmethod.latin.RichInputMethodManager;
|
||||
import org.futo.inputmethod.latin.RichInputMethodSubtype;
|
||||
import org.futo.inputmethod.latin.Subtypes;
|
||||
import org.futo.inputmethod.latin.WordComposer;
|
||||
import org.futo.inputmethod.latin.settings.LongPressKeySettings;
|
||||
import org.futo.inputmethod.latin.settings.Settings;
|
||||
import org.futo.inputmethod.latin.settings.SettingsValues;
|
||||
import org.futo.inputmethod.latin.utils.LanguageOnSpacebarUtils;
|
||||
@ -135,7 +136,8 @@ public final class KeyboardSwitcher implements SwitchActions {
|
||||
settingsValues.mIsNumberRowEnabled,
|
||||
4.0f,
|
||||
res.getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE,
|
||||
settingsValues.mShowsActionKey ? settingsValues.mActionKeyId : null
|
||||
settingsValues.mShowsActionKey ? settingsValues.mActionKeyId : null,
|
||||
LongPressKeySettings.load(mThemeContext)
|
||||
);
|
||||
|
||||
try {
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -112,6 +112,10 @@ data class LongPressKeySettings(val currentOrder: List<LongPressKey>) {
|
||||
it.replace("\\", "\\\\")
|
||||
.replace(",", "\\,")
|
||||
}.joinToString(",")
|
||||
|
||||
@JvmStatic
|
||||
fun forTest(): LongPressKeySettings =
|
||||
LongPressKeySettings(listOf(LongPressKey.Numbers, LongPressKey.LanguageKeys, LongPressKey.MiscLetters))
|
||||
}
|
||||
|
||||
fun reorderMoreKeys(moreKeys: String): String =
|
||||
|
@ -37,6 +37,7 @@ val AllActionsMap = mapOf(
|
||||
val ActionToId = AllActionsMap.entries.associate { it.value to it.key }
|
||||
|
||||
val AllActions = AllActionsMap.values.toList()
|
||||
val AllActionKeys = AllActionsMap.keys.toList()
|
||||
|
||||
val ActionIdToInt = AllActionsMap.entries.associate { it.key to AllActions.indexOf(it.value) }
|
||||
|
||||
|
@ -36,6 +36,9 @@ val KeySpecShortcuts = listOf(
|
||||
"*" to listOf("*", "morekeys_star"),
|
||||
"=" to listOf("=", "≠", "≈", "∞"),
|
||||
|
||||
"," to listOf("keyspec_comma"),
|
||||
"." to listOf("keyspec_period", "…"),
|
||||
|
||||
"1" to listOf("keyspec_symbols_1", "additional_morekeys_symbols_1", "morekeys_symbols_1"),
|
||||
"2" to listOf("keyspec_symbols_2", "additional_morekeys_symbols_2", "morekeys_symbols_2"),
|
||||
"3" to listOf("keyspec_symbols_3", "additional_morekeys_symbols_3", "morekeys_symbols_3"),
|
||||
|
@ -80,11 +80,12 @@ data class KeyboardLayoutSetV2Params(
|
||||
val height: Int?,
|
||||
val keyboardLayoutSet: String,
|
||||
val locale: Locale,
|
||||
val editorInfo: EditorInfo,
|
||||
val editorInfo: EditorInfo?,
|
||||
val numberRow: Boolean,
|
||||
val gap: Float = 4.0f,
|
||||
val useSplitLayout: Boolean,
|
||||
val bottomActionKey: Int?
|
||||
val bottomActionKey: Int?,
|
||||
val longPressKeySettings: LongPressKeySettings? = null
|
||||
)
|
||||
|
||||
|
||||
@ -94,14 +95,16 @@ class KeyboardLayoutSetV2 internal constructor(
|
||||
) {
|
||||
val script = Script.Latin
|
||||
|
||||
val privateParams = params.editorInfo.getPrivateImeOptions()
|
||||
val editorInfo = params.editorInfo ?: EditorInfo()
|
||||
|
||||
val privateParams = editorInfo.getPrivateImeOptions()
|
||||
val forcedLayout = privateParams["org.futo.inputmethod.latin.ForceLayout"]
|
||||
val forcedLocale = privateParams["org.futo.inputmethod.latin.ForceLocale"]?.let { Locale.forLanguageTag(it) }
|
||||
|
||||
// Necessary for Java API
|
||||
fun getScriptId(): Int = script.id
|
||||
|
||||
private val keyboardMode = getKeyboardMode(params.editorInfo)
|
||||
private val keyboardMode = getKeyboardMode(editorInfo)
|
||||
|
||||
val layoutName = forcedLayout ?: params.keyboardLayoutSet
|
||||
val mainLayout = LayoutManager.getLayout(context, layoutName)
|
||||
@ -207,15 +210,15 @@ class KeyboardLayoutSetV2 internal constructor(
|
||||
params.height ?: getRecommendedKeyboardHeight(),
|
||||
keyboardMode,
|
||||
element.elementId,
|
||||
params.editorInfo,
|
||||
editorInfo,
|
||||
false,
|
||||
params.bottomActionKey != null,
|
||||
params.bottomActionKey ?: -1,
|
||||
params.editorInfo.actionLabel?.toString() ?: "",
|
||||
editorInfo.actionLabel?.toString() ?: "",
|
||||
false,
|
||||
false,
|
||||
isNumberRowActive,
|
||||
LongPressKeySettings.load(context)
|
||||
params.longPressKeySettings ?: LongPressKeySettings.load(context)
|
||||
)
|
||||
|
||||
val layout = getKeyboardLayoutForElement(element)
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.futo.inputmethod.v2keyboard
|
||||
|
||||
import org.futo.inputmethod.keyboard.internal.KeyboardLayoutKind
|
||||
import org.futo.inputmethod.latin.common.Constants
|
||||
|
||||
fun getDefaultMoreKeysForKey(code: Int, relevantSpecShortcut: List<String>?): String {
|
||||
@ -14,7 +15,7 @@ fun getDefaultMoreKeysForKey(code: Int, relevantSpecShortcut: List<String>?): St
|
||||
|
||||
|
||||
fun getSpecialFromRow(keyCoordinate: KeyCoordinate, row: Row): String {
|
||||
if(row.isBottomRow) {
|
||||
if(row.isBottomRow && keyCoordinate.element.kind == KeyboardLayoutKind.Alphabet) {
|
||||
val numCols = keyCoordinate.measurement.numColumnsByRow.getOrNull(keyCoordinate.regularRow) ?: -10
|
||||
if(keyCoordinate.regularColumn == 0) {
|
||||
return "!text/morekeys_bottomrow_comma"
|
||||
|
@ -6,8 +6,8 @@ import kotlinx.serialization.Serializable
|
||||
import org.futo.inputmethod.keyboard.KeyboardId
|
||||
import org.futo.inputmethod.keyboard.internal.KeyboardIconsSet
|
||||
import org.futo.inputmethod.keyboard.internal.KeyboardParams
|
||||
import org.futo.inputmethod.keyboard.internal.MoreKeySpec
|
||||
import org.futo.inputmethod.latin.common.Constants
|
||||
import org.futo.inputmethod.latin.uix.actions.AllActionKeys
|
||||
import org.futo.inputmethod.latin.utils.InputTypeUtils
|
||||
|
||||
val FunctionalAttributes = KeyAttributes(
|
||||
@ -182,13 +182,14 @@ data class ActionKey(
|
||||
val attributes = attributes.getEffectiveAttributes(row, keyboard)
|
||||
|
||||
val actionId = params.mId.mBottomActionKeyId
|
||||
val actionName = AllActionKeys[actionId]
|
||||
|
||||
return ComputedKeyData(
|
||||
label = "",
|
||||
code = Constants.CODE_ACTION_0 + actionId,
|
||||
outputText = null,
|
||||
width = attributes.width ?: KeyWidth.Regular,
|
||||
icon = "action_$actionId",
|
||||
icon = "action_$actionName",
|
||||
style = attributes.style ?: KeyVisualStyle.Functional,
|
||||
anchored = true,
|
||||
showPopup = false,
|
||||
|
@ -21,7 +21,6 @@ import android.content.res.Resources;
|
||||
import android.test.AndroidTestCase;
|
||||
import android.view.ContextThemeWrapper;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.view.inputmethod.InputMethodInfo;
|
||||
import android.view.inputmethod.InputMethodSubtype;
|
||||
|
||||
import org.futo.inputmethod.compat.InputMethodSubtypeCompatUtils;
|
||||
@ -30,10 +29,11 @@ import org.futo.inputmethod.latin.RichInputMethodManager;
|
||||
import org.futo.inputmethod.latin.RichInputMethodSubtype;
|
||||
import org.futo.inputmethod.latin.Subtypes;
|
||||
import org.futo.inputmethod.latin.common.Constants;
|
||||
import org.futo.inputmethod.latin.settings.LongPressKeySettings;
|
||||
import org.futo.inputmethod.latin.settings.Settings;
|
||||
import org.futo.inputmethod.latin.uix.actions.ActionRegistry;
|
||||
import org.futo.inputmethod.latin.utils.AdditionalSubtypeUtils;
|
||||
import org.futo.inputmethod.latin.utils.ResourceUtils;
|
||||
import org.futo.inputmethod.latin.utils.SubtypeLocaleUtils;
|
||||
import org.futo.inputmethod.v2keyboard.KeyboardLayoutSetV2;
|
||||
import org.futo.inputmethod.v2keyboard.KeyboardLayoutSetV2Params;
|
||||
|
||||
@ -128,24 +128,7 @@ public abstract class KeyboardLayoutSetTestsBase extends AndroidTestCase {
|
||||
|
||||
protected final InputMethodSubtype getSubtype(final Locale locale,
|
||||
final String keyboardLayout) {
|
||||
for (final InputMethodSubtype subtype : mAllSubtypesList) {
|
||||
final Locale subtypeLocale = SubtypeLocaleUtils.getSubtypeLocale(subtype);
|
||||
final String subtypeLayout = SubtypeLocaleUtils.getKeyboardLayoutSetName(subtype);
|
||||
if (locale.equals(subtypeLocale) && keyboardLayout.equals(subtypeLayout)) {
|
||||
// Found subtype that matches locale and keyboard layout.
|
||||
return subtype;
|
||||
}
|
||||
}
|
||||
for (final InputMethodSubtype subtype : getSubtypesFilteredBy(FILTER_IS_ASCII_CAPABLE)) {
|
||||
final Locale subtypeLocale = SubtypeLocaleUtils.getSubtypeLocale(subtype);
|
||||
if (locale.equals(subtypeLocale)) {
|
||||
// Create additional subtype.
|
||||
return AdditionalSubtypeUtils.createAsciiEmojiCapableAdditionalSubtype(
|
||||
locale.toString(), keyboardLayout);
|
||||
}
|
||||
}
|
||||
throw new RuntimeException(
|
||||
"Unknown subtype: locale=" + locale + " keyboardLayout=" + keyboardLayout);
|
||||
return Subtypes.INSTANCE.makeSubtype(locale.toString(), keyboardLayout);
|
||||
}
|
||||
|
||||
protected KeyboardLayoutSetV2 createKeyboardLayoutSet(final InputMethodSubtype subtype,
|
||||
@ -172,7 +155,8 @@ public abstract class KeyboardLayoutSetTestsBase extends AndroidTestCase {
|
||||
richInputMethodSubtype.getLocale(),
|
||||
editorInfo, false,
|
||||
4.0f, splitLayoutEnabled,
|
||||
languageSwitchKeyEnabled ? 1 : null
|
||||
languageSwitchKeyEnabled ? ActionRegistry.INSTANCE.actionStringIdToIdx("switch_language") : null,
|
||||
LongPressKeySettings.forTest()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
@ -119,32 +119,19 @@ public class Symbols extends AbstractLayoutBase {
|
||||
// Common symbols keyboard layout.
|
||||
private static final ExpectedKey[][] SYMBOLS_COMMON = new ExpectedKeyboardBuilder()
|
||||
.setKeysOfRow(1,
|
||||
// U+00B9: "¹" SUPERSCRIPT ONE
|
||||
// U+00BD: "½" VULGAR FRACTION ONE HALF
|
||||
// U+2153: "⅓" VULGAR FRACTION ONE THIRD
|
||||
// U+00BC: "¼" VULGAR FRACTION ONE QUARTER
|
||||
// U+215B: "⅛" VULGAR FRACTION ONE EIGHTH
|
||||
key("1", joinMoreKeys("\u00B9", "\u00BD", "\u2153", "\u00BC", "\u215B")),
|
||||
// U+00B2: "²" SUPERSCRIPT TWO
|
||||
// U+2154: "⅔" VULGAR FRACTION TWO THIRDS
|
||||
key("2", joinMoreKeys("\u00B2", "\u2154")),
|
||||
// U+00B3: "³" SUPERSCRIPT THREE
|
||||
// U+00BE: "¾" VULGAR FRACTION THREE QUARTERS
|
||||
// U+215C: "⅜" VULGAR FRACTION THREE EIGHTHS
|
||||
key("3", joinMoreKeys("\u00B3", "\u00BE", "\u215C")),
|
||||
// U+2074: "⁴" SUPERSCRIPT FOUR
|
||||
key("4", moreKey("\u2074")),
|
||||
// U+215D: "⅝" VULGAR FRACTION FIVE EIGHTHS
|
||||
key("5", moreKey("\u215D")),
|
||||
"6",
|
||||
// U+215E: "⅞" VULGAR FRACTION SEVEN EIGHTHS
|
||||
key("7", moreKey("\u215E")),
|
||||
"8", "9",
|
||||
// U+207F: "ⁿ" SUPERSCRIPT LATIN SMALL LETTER N
|
||||
// U+2205: "∅" EMPTY SET
|
||||
key("0", joinMoreKeys("\u207F", "\u2205")))
|
||||
key("1", joinMoreKeys("¹", "₁", "½", "⅓", "¼", "⅛")),
|
||||
key("2", joinMoreKeys("²", "₂", "⅔")),
|
||||
key("3", joinMoreKeys("³", "₃", "¾", "⅜")),
|
||||
key("4", joinMoreKeys("⁴", "₄")),
|
||||
key("5", joinMoreKeys("⁵", "₅", "⅝")),
|
||||
key("6", joinMoreKeys("⁶", "₆")),
|
||||
key("7", joinMoreKeys("⁷", "₇", "⅞")),
|
||||
key("8", joinMoreKeys("⁸", "₈")),
|
||||
key("9", joinMoreKeys("⁹", "₉")),
|
||||
key("0", joinMoreKeys("⁰", "₀", "ⁿ", "∅")))
|
||||
.setKeysOfRow(2,
|
||||
key("@"), key("#"), key(CURRENCY),
|
||||
"_",
|
||||
// U+2030: "‰" PER MILLE SIGN
|
||||
key("%", moreKey("\u2030")),
|
||||
"&",
|
||||
@ -163,11 +150,11 @@ public class Symbols extends AbstractLayoutBase {
|
||||
key("*", joinMoreKeys("\u2020", "\u2021", "\u2605")),
|
||||
key(DOUBLE_QUOTE), key(SINGLE_QUOTE), key(":"), key(";"),
|
||||
// U+00A1: "¡" INVERTED EXCLAMATION MARK
|
||||
key("!", moreKey("\u00A1")),
|
||||
key("!", joinMoreKeys("\u00A1", "‽")),
|
||||
// U+00BF: "¿" INVERTED QUESTION MARK
|
||||
key("?", moreKey("\u00BF")))
|
||||
.setKeysOfRow(4,
|
||||
key(","), key("_"), SPACE_KEY, key("/"),
|
||||
key(","), NUMPAD_KEY, SPACE_KEY, key("/"),
|
||||
// U+2026: "…" HORIZONTAL ELLIPSIS
|
||||
key(".", moreKey("\u2026")))
|
||||
.build();
|
||||
|
@ -161,7 +161,8 @@ public class LayoutCustomizer extends AbstractLayoutBase {
|
||||
* @return the array of {@link ExpectedKey} that should be placed as an enter key.
|
||||
*/
|
||||
public ExpectedKey getEnterKey(final boolean isPhone) {
|
||||
return isPhone ? key(ENTER_KEY, EMOJI_ACTION_KEY) : ENTER_KEY;
|
||||
return key(ENTER_KEY, SWITCH_LANGUAGE_KEY, TEXT_EDIT_KEY, CLIPBOARD_HISTORY_KEY, EMOJI_KEY,
|
||||
UNDO_KEY, REDO_KEY);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,6 +19,13 @@ package org.futo.inputmethod.keyboard.layout.expected;
|
||||
import org.futo.inputmethod.keyboard.internal.KeyboardIconsSet;
|
||||
import org.futo.inputmethod.keyboard.layout.expected.ExpectedKey.ExpectedAdditionalMoreKey;
|
||||
import org.futo.inputmethod.latin.common.Constants;
|
||||
import org.futo.inputmethod.latin.uix.Action;
|
||||
import org.futo.inputmethod.latin.uix.actions.ActionRegistry;
|
||||
import org.futo.inputmethod.latin.uix.actions.ClipboardHistoryActionKt;
|
||||
import org.futo.inputmethod.latin.uix.actions.EmojiActionKt;
|
||||
import org.futo.inputmethod.latin.uix.actions.SwitchLanguageActionKt;
|
||||
import org.futo.inputmethod.latin.uix.actions.TextEditActionKt;
|
||||
import org.futo.inputmethod.latin.uix.actions.UndoRedoActionsKt;
|
||||
|
||||
/**
|
||||
* Base class to create an expected keyboard for unit test.
|
||||
@ -50,6 +57,11 @@ public abstract class AbstractLayoutBase {
|
||||
return ExpectedKey.newIconInstance(iconId, outputText, moreKeys);
|
||||
}
|
||||
|
||||
public static ExpectedKey actionKey(final Action action) {
|
||||
String id = ActionRegistry.INSTANCE.actionToStringId(action);
|
||||
return iconKey("action_"+id, Constants.CODE_ACTION_0 + ActionRegistry.INSTANCE.actionStringIdToIdx(id));
|
||||
}
|
||||
|
||||
// Helper method to create an {@link ExpectedKey} object that has the icon and the output code.
|
||||
public static ExpectedKey iconKey(final String iconId, final int code,
|
||||
final ExpectedKey ... moreKeys) {
|
||||
@ -121,9 +133,9 @@ public abstract class AbstractLayoutBase {
|
||||
// Functional keys.
|
||||
protected static final ExpectedKey DELETE_KEY = iconKey(ICON_DELETE, Constants.CODE_DELETE);
|
||||
protected static final ExpectedKey TAB_KEY = iconKey(ICON_TAB, Constants.CODE_TAB);
|
||||
protected static final ExpectedKey SETTINGS_KEY = iconKey(ICON_SETTINGS, Constants.CODE_SETTINGS);
|
||||
protected static final ExpectedKey SETTINGS_KEY = iconKey("action_settings", Constants.CODE_ACTION_0 + ActionRegistry.INSTANCE.actionStringIdToIdx("settings"));
|
||||
protected static final ExpectedKey LANGUAGE_SWITCH_KEY = iconKey(
|
||||
"action_switch_language", Constants.CODE_LANGUAGE_SWITCH);
|
||||
"action_switch_language", Constants.CODE_ACTION_0 + ActionRegistry.INSTANCE.actionStringIdToIdx("switch_language"));
|
||||
protected static final ExpectedKey ENTER_KEY = iconKey(ICON_ENTER, Constants.CODE_ENTER);
|
||||
protected static final ExpectedKey EMOJI_ACTION_KEY = iconKey(ICON_EMOJI_ACTION, Constants.CODE_EMOJI);
|
||||
protected static final ExpectedKey EMOJI_NORMAL_KEY = iconKey(ICON_EMOJI_NORMAL, Constants.CODE_EMOJI);
|
||||
@ -139,6 +151,15 @@ public abstract class AbstractLayoutBase {
|
||||
protected static final ExpectedKey SYMBOLS_SHIFT_KEY = key("= \\ <", Constants.CODE_SHIFT);
|
||||
protected static final ExpectedKey TABLET_SYMBOLS_SHIFT_KEY = key("~ [ <", Constants.CODE_SHIFT);
|
||||
|
||||
protected static final ExpectedKey SWITCH_LANGUAGE_KEY = actionKey(SwitchLanguageActionKt.getSwitchLanguageAction());
|
||||
protected static final ExpectedKey TEXT_EDIT_KEY = actionKey(TextEditActionKt.getTextEditAction());
|
||||
protected static final ExpectedKey CLIPBOARD_HISTORY_KEY = actionKey(ClipboardHistoryActionKt.getClipboardHistoryAction());
|
||||
protected static final ExpectedKey EMOJI_KEY = actionKey(EmojiActionKt.getEmojiAction());
|
||||
protected static final ExpectedKey UNDO_KEY = actionKey(UndoRedoActionsKt.getUndoAction());
|
||||
protected static final ExpectedKey REDO_KEY = actionKey(UndoRedoActionsKt.getRedoAction());
|
||||
|
||||
protected static final ExpectedKey NUMPAD_KEY = iconKey("numpad", Constants.CODE_TO_NUMBER_LAYOUT);
|
||||
|
||||
// U+00A1: "¡" INVERTED EXCLAMATION MARK
|
||||
// U+00BF: "¿" INVERTED QUESTION MARK
|
||||
protected static final ExpectedKey[] EXCLAMATION_AND_QUESTION_MARKS = joinKeys(
|
||||
|
@ -164,7 +164,7 @@ public class ExpectedKey {
|
||||
public boolean equalsTo(final Key key) {
|
||||
// This key has no "more keys".
|
||||
return mVisual.hasSameKeyVisual(key) && mOutput.hasSameKeyOutput(key)
|
||||
&& key.getMoreKeys() == null;
|
||||
&& key.getMoreKeys().isEmpty();
|
||||
}
|
||||
|
||||
public boolean equalsTo(final MoreKeySpec moreKeySpec) {
|
||||
|
@ -22,6 +22,7 @@ import org.futo.inputmethod.keyboard.internal.MoreKeySpec;
|
||||
import org.futo.inputmethod.latin.common.StringUtils;
|
||||
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* This class represents an expected visual outlook of a key.
|
||||
@ -86,7 +87,7 @@ public abstract class ExpectedKeyVisual {
|
||||
boolean hasSameKeyVisual(final Key key) {
|
||||
// If the actual key has an icon as its visual, a label has to be null.
|
||||
// See {@link KeyboardView#onDrawKeyTopVisuals(Key,Canvas,Paint,KeyDrawParams).
|
||||
return mIconId == key.getIconId() && key.getLabel() == null;
|
||||
return Objects.equals(mIconId, key.getIconId()) && key.getLabel().isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -94,7 +95,7 @@ public abstract class ExpectedKeyVisual {
|
||||
// If the actual more key has an icon as its visual, a label has to be null.
|
||||
// See {@link KeySpecParser#getIconId(String)} and
|
||||
// {@link KeySpecParser#getLabel(String)}.
|
||||
return mIconId == moreKeySpec.mIconId && moreKeySpec.mLabel == null;
|
||||
return Objects.equals(mIconId, moreKeySpec.mIconId) && moreKeySpec.mLabel == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -104,7 +105,7 @@ public abstract class ExpectedKeyVisual {
|
||||
|
||||
@Override
|
||||
boolean hasSameKeyVisual(final ExpectedKeyVisual visual) {
|
||||
return (visual instanceof Icon) && mIconId == ((Icon)visual).mIconId;
|
||||
return (visual instanceof Icon) && Objects.equals(mIconId, ((Icon) visual).mIconId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -153,7 +154,7 @@ public abstract class ExpectedKeyVisual {
|
||||
// If the actual key has a label as its visual, an icon has to be undefined.
|
||||
// See {@link KeyboardView#onDrawKeyTopVisuals(Key,Canvas,Paint,KeyDrawParams).
|
||||
return mLabel.equals(key.getLabel())
|
||||
&& key.getIconId() == KeyboardIconsSet.ICON_UNDEFINED;
|
||||
&& key.getIconId().equals(KeyboardIconsSet.ICON_UNDEFINED);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -162,7 +163,7 @@ public abstract class ExpectedKeyVisual {
|
||||
// See {@link KeySpecParser#getIconId(String)} and
|
||||
// {@link KeySpecParser#getLabel(String)}.
|
||||
return mLabel.equals(moreKeySpec.mLabel)
|
||||
&& moreKeySpec.mIconId == KeyboardIconsSet.ICON_UNDEFINED;
|
||||
&& Objects.equals(moreKeySpec.mIconId, KeyboardIconsSet.ICON_UNDEFINED);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -165,10 +165,13 @@ abstract class LayoutTestsBase extends KeyboardLayoutSetTestsBase {
|
||||
final Key actualKey = actualKeyboard[r][c];
|
||||
final ExpectedKey expectedKey = expectedKeyboard[r][c];
|
||||
// Test both keyboards' keys have the same visual outlook and key output.
|
||||
assertTrue(tag + " labels row,column=" + row + "," + column
|
||||
+ "\nexpected=" + expectedKey
|
||||
+ "\nactual =" + ActualKeyboardBuilder.toString(actualKey),
|
||||
expectedKey.equalsTo(actualKey));
|
||||
if(!expectedKey.equalsTo(actualKey)) {
|
||||
assertTrue(tag + " labels row,column=" + row + "," + column
|
||||
+ "\nexpected=" + expectedKey
|
||||
+ "\nactual =" + ActualKeyboardBuilder.toString(actualKey),
|
||||
expectedKey.equalsTo(actualKey));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -56,18 +56,9 @@ public class TestsQwertyEmail extends LayoutTestsBase {
|
||||
EnglishEmailCustomizer(final Locale locale) { super(locale); }
|
||||
|
||||
@Override
|
||||
public ExpectedKey getEnterKey(final boolean isPhone) {
|
||||
return isPhone ? ENTER_KEY : super.getEnterKey(isPhone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExpectedKey getEmojiKey(final boolean isPhone) {
|
||||
return DOMAIN_KEY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) {
|
||||
return joinKeys(key("@", SETTINGS_KEY));
|
||||
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
|
||||
final ExpectedKey periodKey = key(".", getPunctuationMoreKeys(isPhone));
|
||||
return joinKeys(key("@"), periodKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -56,18 +56,9 @@ public class TestsQwertyUrl extends LayoutTestsBase {
|
||||
EnglishUrlCustomizer(final Locale locale) { super(locale); }
|
||||
|
||||
@Override
|
||||
public ExpectedKey getEnterKey(final boolean isPhone) {
|
||||
return isPhone ? ENTER_KEY : super.getEnterKey(isPhone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExpectedKey getEmojiKey(final boolean isPhone) {
|
||||
return DOMAIN_KEY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) {
|
||||
return joinKeys(key("/", SETTINGS_KEY));
|
||||
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
|
||||
final ExpectedKey periodKey = key(".", getPunctuationMoreKeys(isPhone));
|
||||
return joinKeys(key("/"), periodKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -127,8 +127,8 @@
|
||||
"currency_generic": [
|
||||
"$",
|
||||
"¢",
|
||||
"€",
|
||||
"£",
|
||||
"€",
|
||||
"¥",
|
||||
"₱"
|
||||
],
|
||||
|
Loading…
Reference in New Issue
Block a user