aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTests.java113
-rw-r--r--tests/src/com/android/inputmethod/keyboard/internal/MockKeyboardSwitcher.java144
2 files changed, 152 insertions, 105 deletions
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTests.java b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTests.java
index 006a57266..a47e2e5a1 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTests.java
@@ -19,105 +19,8 @@ package com.android.inputmethod.keyboard.internal;
import android.test.AndroidTestCase;
import com.android.inputmethod.keyboard.Keyboard;
-import com.android.inputmethod.keyboard.internal.KeyboardState.SwitchActions;
public class KeyboardStateTests extends AndroidTestCase {
- private static final int ALPHABET_UNSHIFTED = 0;
- private static final int ALPHABET_MANUAL_SHIFTED = 1;
- private static final int ALPHABET_AUTOMATIC_SHIFTED = 2;
- private static final int ALPHABET_SHIFT_LOCKED = 3;
- private static final int SYMBOLS_UNSHIFTED = 4;
- private static final int SYMBOLS_SHIFTED = 5;
-
- static class MockKeyboardSwitcher implements KeyboardState.SwitchActions {
- public int mLayout = ALPHABET_UNSHIFTED;
-
- public boolean mAutoCaps = NO_AUTO_CAPS;
-
- final KeyboardState mState = new KeyboardState(this);
-
- @Override
- public void setAlphabetKeyboard() {
- mLayout = ALPHABET_UNSHIFTED;
- }
-
- @Override
- public void setShifted(int shiftMode) {
- if (shiftMode == SwitchActions.UNSHIFT) {
- mLayout = ALPHABET_UNSHIFTED;
- } else if (shiftMode == SwitchActions.MANUAL_SHIFT) {
- mLayout = ALPHABET_MANUAL_SHIFTED;
- } else if (shiftMode == SwitchActions.AUTOMATIC_SHIFT) {
- mLayout = ALPHABET_AUTOMATIC_SHIFTED;
- }
- }
-
- @Override
- public void setShiftLocked(boolean shiftLocked) {
- if (shiftLocked) {
- mLayout = ALPHABET_SHIFT_LOCKED;
- } else {
- mLayout = ALPHABET_UNSHIFTED;
- }
- }
-
- @Override
- public void setSymbolsKeyboard() {
- mLayout = SYMBOLS_UNSHIFTED;
- }
-
- @Override
- public void setSymbolsShiftedKeyboard() {
- mLayout = SYMBOLS_SHIFTED;
- }
-
- @Override
- public void requestUpdatingShiftState() {
- mState.onUpdateShiftState(mAutoCaps);
- }
-
- public void toggleCapsLock() {
- mState.onToggleCapsLock();
- }
-
- public void updateShiftState() {
- mState.onUpdateShiftState(mAutoCaps);
- }
-
- public void loadKeyboard(String layoutSwitchBackSymbols,
- boolean hasDistinctMultitouch) {
- mState.onLoadKeyboard(layoutSwitchBackSymbols, hasDistinctMultitouch);
- }
-
- public void onPressShift(boolean withSliding) {
- mState.onPressShift(withSliding);
- }
-
- public void onReleaseShift(boolean withSliding) {
- mState.onReleaseShift(withSliding);
- }
-
- public void onPressSymbol() {
- mState.onPressSymbol();
- }
-
- public void onReleaseSymbol() {
- mState.onReleaseSymbol();
- }
-
- public void onOtherKeyPressed() {
- mState.onOtherKeyPressed();
- }
-
- public void onCodeInput(int code, boolean isSinglePointer) {
- mState.onCodeInput(code, isSinglePointer, mAutoCaps);
- }
-
- public void onCancelInput(boolean isSinglePointer) {
- mState.onCancelInput(isSinglePointer);
- }
- }
-
private MockKeyboardSwitcher mSwitcher;
@Override
@@ -138,31 +41,31 @@ public class KeyboardStateTests extends AndroidTestCase {
// Argument for KeyboardState.onCodeInput.
private static final boolean SINGLE = true;
private static final boolean MULTI = false;
- private static final boolean NO_AUTO_CAPS = false;
+ static final boolean NO_AUTO_CAPS = false;
private static final boolean AUTO_CAPS = true;
private void assertAlphabetNormal() {
- assertEquals(ALPHABET_UNSHIFTED, mSwitcher.mLayout);
+ assertTrue(mSwitcher.assertAlphabetNormal());
}
private void assertAlphabetManualShifted() {
- assertEquals(ALPHABET_MANUAL_SHIFTED, mSwitcher.mLayout);
+ assertTrue(mSwitcher.assertAlphabetManualShifted());
}
private void assertAlphabetAutomaticShifted() {
- assertEquals(ALPHABET_AUTOMATIC_SHIFTED, mSwitcher.mLayout);
+ assertTrue(mSwitcher.assertAlphabetAutomaticShifted());
}
private void assertAlphabetShiftLocked() {
- assertEquals(ALPHABET_SHIFT_LOCKED, mSwitcher.mLayout);
+ assertTrue(mSwitcher.assertAlphabetShiftLocked());
}
private void assertSymbolsNormal() {
- assertEquals(SYMBOLS_UNSHIFTED, mSwitcher.mLayout);
+ assertTrue(mSwitcher.assertSymbolsNormal());
}
private void assertSymbolsShifted() {
- assertEquals(SYMBOLS_SHIFTED, mSwitcher.mLayout);
+ assertTrue(mSwitcher.assertSymbolsShifted());
}
// Initial state test.
@@ -231,7 +134,7 @@ public class KeyboardStateTests extends AndroidTestCase {
// Automatic upper case test
public void testAutomaticUpperCase() {
- mSwitcher.mAutoCaps = AUTO_CAPS;
+ mSwitcher.setAutoCapsMode(AUTO_CAPS);
// Update shift state with auto caps enabled.
mSwitcher.updateShiftState();
assertAlphabetAutomaticShifted();
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/MockKeyboardSwitcher.java b/tests/src/com/android/inputmethod/keyboard/internal/MockKeyboardSwitcher.java
new file mode 100644
index 000000000..7491079f9
--- /dev/null
+++ b/tests/src/com/android/inputmethod/keyboard/internal/MockKeyboardSwitcher.java
@@ -0,0 +1,144 @@
+/*
+ * 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.keyboard.internal;
+
+import com.android.inputmethod.keyboard.internal.KeyboardState.SwitchActions;
+
+public class MockKeyboardSwitcher implements KeyboardState.SwitchActions {
+ private static final int ALPHABET_UNSHIFTED = 0;
+ private static final int ALPHABET_MANUAL_SHIFTED = 1;
+ private static final int ALPHABET_AUTOMATIC_SHIFTED = 2;
+ private static final int ALPHABET_SHIFT_LOCKED = 3;
+ private static final int SYMBOLS_UNSHIFTED = 4;
+ private static final int SYMBOLS_SHIFTED = 5;
+
+ private int mLayout = ALPHABET_UNSHIFTED;
+
+ // TODO: Separate Auto Caps mode and Auto Caps state of input.
+ private boolean mAutoCaps = KeyboardStateTests.NO_AUTO_CAPS;
+
+ private final KeyboardState mState = new KeyboardState(this);
+
+ public boolean assertAlphabetNormal() {
+ return mLayout == ALPHABET_UNSHIFTED;
+ }
+
+ public boolean assertAlphabetManualShifted() {
+ return mLayout == ALPHABET_MANUAL_SHIFTED;
+ }
+
+ public boolean assertAlphabetAutomaticShifted() {
+ return mLayout == ALPHABET_AUTOMATIC_SHIFTED;
+ }
+
+ public boolean assertAlphabetShiftLocked() {
+ return mLayout == ALPHABET_SHIFT_LOCKED;
+ }
+
+ public boolean assertSymbolsNormal() {
+ return mLayout == SYMBOLS_UNSHIFTED;
+ }
+
+ public boolean assertSymbolsShifted() {
+ return mLayout == SYMBOLS_SHIFTED;
+ }
+
+ public void setAutoCapsMode(boolean autoCaps) {
+ mAutoCaps = autoCaps;
+ }
+
+ @Override
+ public void setAlphabetKeyboard() {
+ mLayout = ALPHABET_UNSHIFTED;
+ }
+
+ @Override
+ public void setShifted(int shiftMode) {
+ if (shiftMode == SwitchActions.UNSHIFT) {
+ mLayout = ALPHABET_UNSHIFTED;
+ } else if (shiftMode == SwitchActions.MANUAL_SHIFT) {
+ mLayout = ALPHABET_MANUAL_SHIFTED;
+ } else if (shiftMode == SwitchActions.AUTOMATIC_SHIFT) {
+ mLayout = ALPHABET_AUTOMATIC_SHIFTED;
+ }
+ }
+
+ @Override
+ public void setShiftLocked(boolean shiftLocked) {
+ if (shiftLocked) {
+ mLayout = ALPHABET_SHIFT_LOCKED;
+ } else {
+ mLayout = ALPHABET_UNSHIFTED;
+ }
+ }
+
+ @Override
+ public void setSymbolsKeyboard() {
+ mLayout = SYMBOLS_UNSHIFTED;
+ }
+
+ @Override
+ public void setSymbolsShiftedKeyboard() {
+ mLayout = SYMBOLS_SHIFTED;
+ }
+
+ @Override
+ public void requestUpdatingShiftState() {
+ mState.onUpdateShiftState(mAutoCaps);
+ }
+
+ public void toggleCapsLock() {
+ mState.onToggleCapsLock();
+ }
+
+ public void updateShiftState() {
+ mState.onUpdateShiftState(mAutoCaps);
+ }
+
+ public void loadKeyboard(String layoutSwitchBackSymbols,
+ boolean hasDistinctMultitouch) {
+ mState.onLoadKeyboard(layoutSwitchBackSymbols, hasDistinctMultitouch);
+ }
+
+ public void onPressShift(boolean withSliding) {
+ mState.onPressShift(withSliding);
+ }
+
+ public void onReleaseShift(boolean withSliding) {
+ mState.onReleaseShift(withSliding);
+ }
+
+ public void onPressSymbol() {
+ mState.onPressSymbol();
+ }
+
+ public void onReleaseSymbol() {
+ mState.onReleaseSymbol();
+ }
+
+ public void onOtherKeyPressed() {
+ mState.onOtherKeyPressed();
+ }
+
+ public void onCodeInput(int code, boolean isSinglePointer) {
+ mState.onCodeInput(code, isSinglePointer, mAutoCaps);
+ }
+
+ public void onCancelInput(boolean isSinglePointer) {
+ mState.onCancelInput(isSinglePointer);
+ }
+} \ No newline at end of file