From fb0a4ba8fd7291e1bed0ec61bb7d2b5c8f93c1ad Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Tue, 29 May 2012 16:34:47 +0900 Subject: [PATCH] Add unit tests for long press shift key Bug: 5424586 Change-Id: I8465b7e2cebb07a135e24ea33eb7b7fb6752f7a2 --- .../KeyboardStateMultiTouchTests.java | 43 +++++++++++++++++++ .../internal/KeyboardStateTestsBase.java | 8 +++- 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java index 2a08309d5..9cdabe06f 100644 --- a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java +++ b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java @@ -375,4 +375,47 @@ public class KeyboardStateMultiTouchTests extends KeyboardStateTestsBase { // Release shift key. releaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED); } + + public void testLongPressShiftAndChording() { + // TODO: The following tests fail due to bug. Temporarily commented. +// // Long press shift key, enter maybe shift locked. +// longPressKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, 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); +// +// // Long press shift key, enter alphabet shift locked. +// longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, +// ALPHABET_SHIFT_LOCKED); +// // Long press shift key, enter maybe alphabet. +// longPressKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCK_SHIFTED); +// // Press/release letter key, remain in manual shifted. +// chordingPressAndReleaseKey('A', ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCK_SHIFTED); +// // Release shift key, back to shift locked (not alphabet). +// releaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCKED); +// // Long press shift key, enter alphabet +// longPressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCK_SHIFTED, +// ALPHABET_UNSHIFTED); +// +// // Press/release shift key, enter alphabet shifted. +// pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); +// // Long press shift key, enter maybe alphabet. +// longPressKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, 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 alphabet). +// releaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED); +// +// // Set capitalize the first character of all words mode. +// setAutoCapsMode(CAP_MODE_WORDS); +// // Load keyboard, should be in automatic shifted. +// loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); +// // Long press shift key, enter maybe shift locked. +// longPressKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, 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 21d0a33ea..dbde116fc 100644 --- a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTestsBase.java +++ b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTestsBase.java @@ -108,11 +108,15 @@ public class KeyboardStateTestsBase extends AndroidTestCase assertLayout("afterSlide", afterSlide, mSwitcher.getLayoutId()); } - public void longPressAndReleaseKey(int code, int afterPress, int afterLongPress, - int afterRelease) { + public void longPressKey(int code, int afterPress, int afterLongPress) { pressKey(code, afterPress); mSwitcher.onLongPressTimeout(code); assertLayout("afterLongPress", afterLongPress, mSwitcher.getLayoutId()); + } + + public void longPressAndReleaseKey(int code, int afterPress, int afterLongPress, + int afterRelease) { + longPressKey(code, afterPress, afterLongPress); releaseKey(code, afterRelease); }