blob: 85f91ca74243d3a7d051aeba1da9352fc9528ee1 [file] [log] [blame]
/*
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.view.cts;
import android.test.AndroidTestCase;
import android.text.TextUtils;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.KeyCharacterMap.KeyData;
public class KeyCharacterMapTest extends AndroidTestCase {
private KeyCharacterMap mKeyCharacterMap;
private final char[] chars = {'A', 'B', 'C'};
@Override
protected void setUp() throws Exception {
super.setUp();
mKeyCharacterMap = KeyCharacterMap.load(KeyCharacterMap.VIRTUAL_KEYBOARD);
}
public void testIsPrintingKey() throws Exception {
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_UNKNOWN));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_SOFT_LEFT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_SOFT_RIGHT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_HOME));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BACK));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_CALL));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_ENDCALL));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_0));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_1));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_2));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_3));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_4));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_5));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_6));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_7));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_8));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_9));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_STAR));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_POUND));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_DPAD_UP));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_DPAD_DOWN));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_DPAD_LEFT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_DPAD_RIGHT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_DPAD_CENTER));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_VOLUME_UP));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_VOLUME_DOWN));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_POWER));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_CAMERA));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_CLEAR));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_A));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_B));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_C));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_D));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_E));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_F));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_G));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_H));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_I));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_J));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_K));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_L));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_M));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_N));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_O));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_P));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_Q));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_R));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_S));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_T));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_U));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_V));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_W));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_X));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_Y));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_Z));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_COMMA));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_PERIOD));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_ALT_LEFT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_ALT_RIGHT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_SHIFT_LEFT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_SHIFT_RIGHT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_TAB));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_SPACE));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_SYM));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUM));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_EXPLORER));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_ENVELOPE));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_ENTER));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_DEL));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_GRAVE));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MINUS));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_EQUALS));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_LEFT_BRACKET));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_RIGHT_BRACKET));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BACKSLASH));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_SEMICOLON));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_APOSTROPHE));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_SLASH));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_AT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUM));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_HEADSETHOOK));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_FOCUS));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_PLUS));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MENU));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NOTIFICATION));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_SEARCH));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MEDIA_STOP));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MEDIA_NEXT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MEDIA_PREVIOUS));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MEDIA_REWIND));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MEDIA_FAST_FORWARD));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MUTE));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_PAGE_UP));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_PAGE_DOWN));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_PICTSYMBOLS));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_SWITCH_CHARSET));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_A));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_B));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_C));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_X));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_Y));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_Z));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_L1));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_R1));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_L2));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_R2));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_THUMBL));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_THUMBR));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_START));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_SELECT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BUTTON_MODE));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_ESCAPE));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_FORWARD_DEL));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_CTRL_LEFT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_CTRL_RIGHT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_CAPS_LOCK));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_SCROLL_LOCK));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_META_LEFT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_META_RIGHT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_FUNCTION));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_SYSRQ));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BREAK));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MOVE_HOME));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MOVE_END));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_INSERT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_FORWARD));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MEDIA_PLAY));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MEDIA_PAUSE));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MEDIA_CLOSE));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MEDIA_EJECT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_MEDIA_RECORD));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_F1));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_F2));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_F3));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_F4));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_F5));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_F6));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_F7));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_F8));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_F9));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_F10));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_F11));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_F12));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUM_LOCK));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_0));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_1));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_2));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_3));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_4));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_5));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_6));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_7));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_8));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_9));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_DIVIDE));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_MULTIPLY));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_SUBTRACT));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_ADD));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_DOT));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_COMMA));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_ENTER));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_EQUALS));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_LEFT_PAREN));
assertTrue(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_NUMPAD_RIGHT_PAREN));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_VOLUME_MUTE));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_INFO));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_CHANNEL_UP));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_CHANNEL_DOWN));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_ZOOM_IN));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_ZOOM_OUT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_TV));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_WINDOW));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_GUIDE));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_DVR));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_BOOKMARK));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_CAPTIONS));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_SETTINGS));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_TV_POWER));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_TV_INPUT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_STB_POWER));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_STB_INPUT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_AVR_POWER));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_AVR_INPUT));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_PROG_RED));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_PROG_GREEN));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_PROG_YELLOW));
assertFalse(mKeyCharacterMap.isPrintingKey(KeyEvent.KEYCODE_PROG_BLUE));
}
public void testLoad() throws Exception {
mKeyCharacterMap = null;
mKeyCharacterMap = KeyCharacterMap.load(KeyCharacterMap.BUILT_IN_KEYBOARD);
assertNotNull(mKeyCharacterMap);
}
public void testGetNumber() throws Exception {
assertEquals('0', mKeyCharacterMap.getNumber(KeyEvent.KEYCODE_0));
assertEquals('1', mKeyCharacterMap.getNumber(KeyEvent.KEYCODE_1));
assertEquals('2', mKeyCharacterMap.getNumber(KeyEvent.KEYCODE_2));
assertEquals('3', mKeyCharacterMap.getNumber(KeyEvent.KEYCODE_3));
assertEquals('4', mKeyCharacterMap.getNumber(KeyEvent.KEYCODE_4));
assertEquals('5', mKeyCharacterMap.getNumber(KeyEvent.KEYCODE_5));
assertEquals('6', mKeyCharacterMap.getNumber(KeyEvent.KEYCODE_6));
assertEquals('7', mKeyCharacterMap.getNumber(KeyEvent.KEYCODE_7));
assertEquals('8', mKeyCharacterMap.getNumber(KeyEvent.KEYCODE_8));
assertEquals('9', mKeyCharacterMap.getNumber(KeyEvent.KEYCODE_9));
assertEquals('*', mKeyCharacterMap.getNumber(KeyEvent.KEYCODE_STAR));
assertEquals('#', mKeyCharacterMap.getNumber(KeyEvent.KEYCODE_POUND));
}
public void testGetMatch1() throws Exception {
try {
mKeyCharacterMap.getMatch(KeyEvent.KEYCODE_0, null);
fail("should throw exception");
} catch (Exception e) {
}
assertEquals('\0', mKeyCharacterMap.getMatch(getCharacterKeyCode('E'), chars));
assertEquals('A', mKeyCharacterMap.getMatch(getCharacterKeyCode('A'), chars));
assertEquals('B', mKeyCharacterMap.getMatch(getCharacterKeyCode('B'), chars));
}
private int getCharacterKeyCode(char oneChar) {
// Lowercase the character to avoid getting modifiers in the KeyEvent array.
char[] chars = new char[] {Character.toLowerCase(oneChar)};
KeyEvent[] events = mKeyCharacterMap.getEvents(chars);
return events[0].getKeyCode();
}
public void testGetMatch2() throws Exception {
try {
mKeyCharacterMap.getMatch(KeyEvent.KEYCODE_0, null, 1);
fail("should throw exception");
} catch (Exception e) {
}
assertEquals('\0', mKeyCharacterMap.getMatch(1000, chars, 2));
assertEquals('\0', mKeyCharacterMap.getMatch(10000, chars, 2));
assertEquals('\0', mKeyCharacterMap.getMatch(getCharacterKeyCode('E'), chars));
assertEquals('A', mKeyCharacterMap.getMatch(getCharacterKeyCode('A'), chars));
assertEquals('B', mKeyCharacterMap.getMatch(getCharacterKeyCode('B'), chars));
}
public void testGetKeyboardType() throws Exception {
mKeyCharacterMap.getKeyboardType();
}
public void testGetEvents() {
try {
mKeyCharacterMap.getEvents(null);
fail("should throw exception");
} catch (Exception e) {
}
CharSequence mCharSequence = "TestMessage123";
int len = mCharSequence.length();
char[] charsArray = new char[len];
TextUtils.getChars(mCharSequence, 1, len, charsArray, 0);
mKeyCharacterMap.getEvents(charsArray);
}
public void testGetKeyData() throws Exception {
KeyData result = new KeyData();
result.meta = new char[2];
try {
mKeyCharacterMap.getKeyData(KeyEvent.KEYCODE_HOME, result);
fail("should throw exception");
} catch (Exception e) {
}
result.meta = new char[4];
assertFalse(mKeyCharacterMap.getKeyData(KeyEvent.KEYCODE_HOME, result));
assertTrue(mKeyCharacterMap.getKeyData(KeyEvent.KEYCODE_0, result));
assertEquals(48, result.meta[0]);
// here just call deviceHasKey and deviceHasKeys.
KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_0);
final int[] keyChar = new int[] {
KeyEvent.KEYCODE_0, KeyEvent.KEYCODE_1, KeyEvent.KEYCODE_3
};
boolean[] keys = KeyCharacterMap.deviceHasKeys(keyChar);
assertEquals(keyChar.length, keys.length);
}
}