aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java4
-rw-r--r--tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateSingleTouchTests.java31
-rw-r--r--tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTestsBase.java4
-rw-r--r--tests/src/com/android/inputmethod/keyboard/internal/MockKeyboardSwitcher.java30
-rw-r--r--tests/src/com/android/inputmethod/latin/ForgettingCurveTests.java56
5 files changed, 94 insertions, 31 deletions
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java
index 0e6caaf87..c2408c9c5 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateMultiTouchTests.java
@@ -206,8 +206,8 @@ public class KeyboardStateMultiTouchTests extends KeyboardStateTestsBase {
// Chording input in automatic upper case.
public void testChordingAutomaticUpperCase() {
- // Set auto caps mode on.
- setAutoCapsMode(AUTO_CAPS);
+ // Set capitalize the first character of all words mode.
+ setAutoCapsMode(CAP_MODE_WORDS);
// Update shift state with auto caps enabled.
pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED);
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateSingleTouchTests.java b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateSingleTouchTests.java
index de2a50fcf..b9f53184a 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateSingleTouchTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateSingleTouchTests.java
@@ -202,8 +202,8 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase {
// Automatic upper case test
public void testAutomaticUpperCase() {
- // Set auto caps mode on.
- setAutoCapsMode(AUTO_CAPS);
+ // Set capitalize the first character of all words mode.
+ setAutoCapsMode(CAP_MODE_WORDS);
// Load keyboard, should be in automatic shifted.
loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED);
@@ -239,7 +239,7 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase {
// Long press shift key.
public void testLongPressShift() {
// Set auto caps mode off.
- setAutoCapsMode(NO_AUTO_CAPS);
+ setAutoCapsMode(CAP_MODE_OFF);
// Load keyboard, should be in alphabet.
loadKeyboard(ALPHABET_UNSHIFTED);
// Long press shift key, enter alphabet shift locked.
@@ -268,8 +268,8 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase {
// Press/release shift key, back to alphabet.
pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED);
- // Set auto caps mode on.
- setAutoCapsMode(AUTO_CAPS);
+ // 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 alphabet shift locked.
@@ -303,8 +303,8 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase {
// Second shift key tap.
secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED);
- // Set auto caps mode on.
- setAutoCapsMode(AUTO_CAPS);
+ // Set capitalize the first character of all words mode.
+ setAutoCapsMode(CAP_MODE_WORDS);
// Load keyboard, should be in automatic shifted.
loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED);
@@ -322,7 +322,7 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase {
// Update shift state.
public void testUpdateShiftState() {
// Set auto caps mode off.
- setAutoCapsMode(NO_AUTO_CAPS);
+ setAutoCapsMode(CAP_MODE_OFF);
// Load keyboard, should be in alphabet.
loadKeyboard(ALPHABET_UNSHIFTED);
// Update shift state, remained in alphabet.
@@ -350,8 +350,8 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase {
// Update shift state, remained in symbols shifted.
updateShiftState(SYMBOLS_SHIFTED);
- // Set auto caps mode on.
- setAutoCapsMode(AUTO_CAPS);
+ // Set capitalize the first character of all words mode.
+ setAutoCapsMode(CAP_MODE_WORDS);
// Load keyboard, should be in automatic shifted.
loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED);
// Update shift state, remained in automatic shifted.
@@ -592,11 +592,8 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase {
// Change focus to auto caps text field.
public void testChangeFocusAutoCaps() {
- // Set auto caps mode on.
- setAutoCapsMode(AUTO_CAPS);
-
- // Update shift state.
- updateShiftState(ALPHABET_AUTOMATIC_SHIFTED);
+ // Set capitalize the first character of all words mode.
+ setAutoCapsMode(CAP_MODE_WORDS);
// Change focus to new text field.
loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED);
@@ -735,8 +732,8 @@ public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase {
// Rapidly press/release letter key.
secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED);
- // Set auto caps mode on.
- setAutoCapsMode(AUTO_CAPS);
+ // Set capitalize the first character of all words mode.
+ setAutoCapsMode(CAP_MODE_WORDS);
// Press/release auto caps trigger letter to enter alphabet automatic shifted.
pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED);
// Press/release shift key
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTestsBase.java b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTestsBase.java
index 96a54668c..bbe0dbde5 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTestsBase.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTestsBase.java
@@ -29,12 +29,12 @@ public class KeyboardStateTestsBase extends AndroidTestCase
super.setUp();
mSwitcher = new MockKeyboardSwitcher();
- mSwitcher.setAutoCapsMode(NO_AUTO_CAPS);
+ mSwitcher.setAutoCapsMode(CAP_MODE_OFF);
loadKeyboard(ALPHABET_UNSHIFTED);
}
- public void setAutoCapsMode(boolean autoCaps) {
+ public void setAutoCapsMode(int autoCaps) {
mSwitcher.setAutoCapsMode(autoCaps);
}
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/MockKeyboardSwitcher.java b/tests/src/com/android/inputmethod/keyboard/internal/MockKeyboardSwitcher.java
index 999e08a8d..485ea61e7 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/MockKeyboardSwitcher.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/MockKeyboardSwitcher.java
@@ -16,6 +16,8 @@
package com.android.inputmethod.keyboard.internal;
+import android.text.TextUtils;
+
import com.android.inputmethod.keyboard.Keyboard;
public class MockKeyboardSwitcher implements KeyboardState.SwitchActions {
@@ -26,8 +28,10 @@ public class MockKeyboardSwitcher implements KeyboardState.SwitchActions {
// Argument for {@link KeyboardState#onCodeInput}.
public static final boolean SINGLE = true;
public static final boolean MULTI = false;
- public static final boolean NO_AUTO_CAPS = false;
- public static final boolean AUTO_CAPS = true;
+ public static final int CAP_MODE_OFF =
+ com.android.inputmethod.latin.Constants.TextUtils.CAP_MODE_OFF;
+ public static final int CAP_MODE_WORDS = TextUtils.CAP_MODE_WORDS;
+ public static final int CAP_MODE_CHARACTERS = TextUtils.CAP_MODE_CHARACTERS;
public static final int CODE_SHIFT = Keyboard.CODE_SHIFT;
public static final int CODE_SYMBOL = Keyboard.CODE_SWITCH_ALPHA_SYMBOL;
@@ -45,9 +49,9 @@ public class MockKeyboardSwitcher implements KeyboardState.SwitchActions {
private int mLayout = Constants.ALPHABET_UNSHIFTED;
- private boolean mAutoCapsMode = Constants.NO_AUTO_CAPS;
+ private int mAutoCapsMode = Constants.CAP_MODE_OFF;
// Following InputConnection's behavior. Simulating InputType.TYPE_TEXT_FLAG_CAP_WORDS.
- private boolean mAutoCapsState = true;
+ private int mAutoCapsState = Constants.CAP_MODE_OFF;
private boolean mIsInDoubleTapTimeout;
private int mLongPressTimeoutCode;
@@ -71,8 +75,9 @@ public class MockKeyboardSwitcher implements KeyboardState.SwitchActions {
}
}
- public void setAutoCapsMode(boolean autoCaps) {
+ public void setAutoCapsMode(int autoCaps) {
mAutoCapsMode = autoCaps;
+ mAutoCapsState = autoCaps;
}
public void expireDoubleTapTimeout() {
@@ -116,7 +121,7 @@ public class MockKeyboardSwitcher implements KeyboardState.SwitchActions {
@Override
public void requestUpdatingShiftState() {
- mState.onUpdateShiftState(mAutoCapsMode && mAutoCapsState);
+ mState.onUpdateShiftState(mAutoCapsState);
}
@Override
@@ -158,7 +163,7 @@ public class MockKeyboardSwitcher implements KeyboardState.SwitchActions {
}
public void updateShiftState() {
- mState.onUpdateShiftState(mAutoCapsMode && mAutoCapsState);
+ mState.onUpdateShiftState(mAutoCapsState);
}
public void loadKeyboard(String layoutSwitchBackSymbols) {
@@ -181,10 +186,15 @@ public class MockKeyboardSwitcher implements KeyboardState.SwitchActions {
}
public void onCodeInput(int code, boolean isSinglePointer) {
- if (Keyboard.isLetterCode(code)) {
- mAutoCapsState = (code == Constants.CODE_AUTO_CAPS_TRIGGER);
+ if (mAutoCapsMode == Constants.CAP_MODE_WORDS) {
+ if (Keyboard.isLetterCode(code)) {
+ mAutoCapsState = (code == Constants.CODE_AUTO_CAPS_TRIGGER)
+ ? mAutoCapsMode : Constants.CAP_MODE_OFF;
+ }
+ } else {
+ mAutoCapsState = mAutoCapsMode;
}
- mState.onCodeInput(code, isSinglePointer, mAutoCapsMode && mAutoCapsState);
+ mState.onCodeInput(code, isSinglePointer, mAutoCapsState);
}
public void onCancelInput(boolean isSinglePointer) {
diff --git a/tests/src/com/android/inputmethod/latin/ForgettingCurveTests.java b/tests/src/com/android/inputmethod/latin/ForgettingCurveTests.java
new file mode 100644
index 000000000..a2e71c11a
--- /dev/null
+++ b/tests/src/com/android/inputmethod/latin/ForgettingCurveTests.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2012 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 com.android.inputmethod.latin;
+
+import android.test.AndroidTestCase;
+
+public class ForgettingCurveTests extends AndroidTestCase {
+ public void testFcToFreq() {
+ for (int i = 0; i < Byte.MAX_VALUE; ++i) {
+ final byte fc = (byte)i;
+ final int e = UserHistoryForgettingCurveUtils.fcToElapsedTime(fc);
+ final int c = UserHistoryForgettingCurveUtils.fcToCount(fc);
+ final int l = UserHistoryForgettingCurveUtils.fcToLevel(fc);
+ final byte fc2 = UserHistoryForgettingCurveUtils.calcFc(e, c, l);
+ assertEquals(fc, fc2);
+ }
+ byte fc = 0;
+ int l;
+ for (int i = 0; i < 4; ++i) {
+ for (int j = 0; j < (UserHistoryForgettingCurveUtils.COUNT_MAX + 1); ++j) {
+ fc = UserHistoryForgettingCurveUtils.pushCount(fc, true);
+ }
+ l = UserHistoryForgettingCurveUtils.fcToLevel(fc);
+ assertEquals(l, Math.max(1, Math.min(i + 1, 3)));
+ }
+ fc = 0;
+ for (int i = 0; i < 4; ++i) {
+ for (int j = 0; j < (UserHistoryForgettingCurveUtils.COUNT_MAX + 1); ++j) {
+ fc = UserHistoryForgettingCurveUtils.pushCount(fc, false);
+ }
+ l = UserHistoryForgettingCurveUtils.fcToLevel(fc);
+ assertEquals(l, Math.min(i + 1, 3));
+ }
+ for (int i = 0; i < 4; ++i) {
+ for (int j = 0; j < (UserHistoryForgettingCurveUtils.ELAPSED_TIME_MAX + 1); ++j) {
+ fc = UserHistoryForgettingCurveUtils.pushElapsedTime(fc);
+ }
+ l = UserHistoryForgettingCurveUtils.fcToLevel(fc);
+ assertEquals(l, Math.max(0, 2 - i));
+ }
+ }
+}