aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2012-05-29 03:28:42 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-05-29 03:28:42 -0700
commit08c295c5bb8d48b26a4486ed42a32a955b39ddd3 (patch)
tree9c28bba9f147b436cb06a7ead45de82e32b876ab /tests/src
parentc79a710445cca2a69dca9600a2c06eadcb253b62 (diff)
parent9a3211802baf11e5749a080e4f451ef7b795220b (diff)
downloadlatinime-08c295c5bb8d48b26a4486ed42a32a955b39ddd3.tar.gz
latinime-08c295c5bb8d48b26a4486ed42a32a955b39ddd3.tar.xz
latinime-08c295c5bb8d48b26a4486ed42a32a955b39ddd3.zip
am 9a321180: Add unit tests for double tap shift key
* commit '9a3211802baf11e5749a080e4f451ef7b795220b': Add unit tests for double tap shift key
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java37
-rw-r--r--tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTestsBase.java6
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);
}
}