diff options
author | 2012-05-29 16:34:47 +0900 | |
---|---|---|
committer | 2012-05-29 19:23:45 +0900 | |
commit | 9a3211802baf11e5749a080e4f451ef7b795220b (patch) | |
tree | 0fcfaa8a2d7450a62ed6bd8b20a8bb44a7576d18 | |
parent | 2959fc0f13ec29e05eda2c4a1e9a728350a80557 (diff) | |
download | latinime-9a3211802baf11e5749a080e4f451ef7b795220b.tar.gz latinime-9a3211802baf11e5749a080e4f451ef7b795220b.tar.xz latinime-9a3211802baf11e5749a080e4f451ef7b795220b.zip |
Add unit tests for double tap shift key
Bug: 6568746
Change-Id: I84db31ce86e3e043ac9f9bb971663a629fa3d3c7
-rw-r--r-- | tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java | 37 | ||||
-rw-r--r-- | tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTestsBase.java | 6 |
2 files changed, 42 insertions, 1 deletions
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java index 588aa388f..64cf7a61b 100644 --- a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java +++ b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java @@ -417,4 +417,41 @@ public class KeyboardStateMultiTouchTests extends KeyboardStateTestsBase { // Release shift key, back to alphabet (not shift locked). releaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED); } + + public void testDoubleTapShiftAndChording() { + // TODO: The following tests fail due to bug. Temporarily commented. + // First shift key tap. + pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); + // Second shift key tap, maybe shift locked. + secondPressKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED); + // Press/release letter key, remain in manual shifted. + chordingPressAndReleaseKey('A', ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); + // Release shift key, back to alphabet shifted (not shift locked). + releaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED); + + // Long press shift key, enter alphabet shift locked. + longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, + ALPHABET_SHIFT_LOCKED); + // First shift key tap. + pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); + // Second shift key tap, maybe shift unlocked. + secondPressKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED); + // Press/release letter key, remain in manual shifted. + chordingPressAndReleaseKey('A', ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); + // Release shift key, back to alphabet (not shift locked). + releaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED); + + // Set capitalize the first character of all words mode. + setAutoCapsMode(CAP_MODE_WORDS); + // Load keyboard, should be in automatic shifted. + loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); + // First shift key tap. + pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); + // Second shift key tap, maybe shift locked. + secondPressKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED); + // Press/release letter key, remain in manual shifted. + chordingPressAndReleaseKey('A', ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); + // Release shift key, back to alphabet (not shift locked). + releaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED); + } } diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTestsBase.java b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTestsBase.java index dbde116fc..2770ed54a 100644 --- a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTestsBase.java +++ b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTestsBase.java @@ -120,8 +120,12 @@ public class KeyboardStateTestsBase extends AndroidTestCase releaseKey(code, afterRelease); } - public void secondPressAndReleaseKey(int code, int afterPress, int afterRelease) { + public void secondPressKey(int code, int afterPress) { pressKeyWithoutTimerExpire(code, true, afterPress); + } + + public void secondPressAndReleaseKey(int code, int afterPress, int afterRelease) { + secondPressKey(code, afterPress); releaseKey(code, afterRelease); } } |