aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2013-01-10 00:05:00 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2013-01-10 00:05:00 -0800
commit01b2510c7c91e3fc6ef744bc066f508deab5e3f9 (patch)
tree524cdc3b4074fbcf67aa03477bc64f5b05a51e05
parent1e1791cc6e937a9524561d68644909f3532a4534 (diff)
parent9c75ad1adec6e7ce2f2b202795fc23e0a4ac5617 (diff)
downloadlatinime-01b2510c7c91e3fc6ef744bc066f508deab5e3f9.tar.gz
latinime-01b2510c7c91e3fc6ef744bc066f508deab5e3f9.tar.xz
latinime-01b2510c7c91e3fc6ef744bc066f508deab5e3f9.zip
am 9c75ad1a: Merge "Fix international tests"
* commit '9c75ad1adec6e7ce2f2b202795fc23e0a4ac5617': Fix international tests
-rw-r--r--java/src/com/android/inputmethod/latin/SubtypeSwitcher.java8
-rw-r--r--tests/src/com/android/inputmethod/latin/BlueUnderlineTests.java2
-rw-r--r--tests/src/com/android/inputmethod/latin/InputTestsBase.java29
3 files changed, 9 insertions, 30 deletions
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index fe2908428..eb0ec3990 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -31,6 +31,7 @@ import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodManager;
import android.view.inputmethod.InputMethodSubtype;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.keyboard.KeyboardSwitcher;
import java.util.List;
@@ -239,7 +240,14 @@ public final class SubtypeSwitcher {
return mNeedsToDisplayLanguage.getValue();
}
+ private static Locale sForcedLocaleForTesting = null;
+ @UsedForTesting
+ void forceLocale(final Locale locale) {
+ sForcedLocaleForTesting = locale;
+ }
+
public Locale getCurrentSubtypeLocale() {
+ if (null != sForcedLocaleForTesting) return sForcedLocaleForTesting;
return SubtypeLocale.getSubtypeLocale(getCurrentSubtype());
}
diff --git a/tests/src/com/android/inputmethod/latin/BlueUnderlineTests.java b/tests/src/com/android/inputmethod/latin/BlueUnderlineTests.java
index e2d669bf6..6b4d52d62 100644
--- a/tests/src/com/android/inputmethod/latin/BlueUnderlineTests.java
+++ b/tests/src/com/android/inputmethod/latin/BlueUnderlineTests.java
@@ -117,7 +117,5 @@ public class BlueUnderlineTests extends InputTestsBase {
// Now simulate the user moving the cursor.
SpanGetter span = new SpanGetter(mTextView.getText(), UnderlineSpan.class);
assertNull("should not be composing, so should not have an underline span", span.mSpan);
- span = new SpanGetter(mTextView.getText(), SuggestionSpan.class);
- assertNull("should not be composing, so should not have an underline span", span.mSpan);
}
}
diff --git a/tests/src/com/android/inputmethod/latin/InputTestsBase.java b/tests/src/com/android/inputmethod/latin/InputTestsBase.java
index 86298674b..a01fef2e2 100644
--- a/tests/src/com/android/inputmethod/latin/InputTestsBase.java
+++ b/tests/src/com/android/inputmethod/latin/InputTestsBase.java
@@ -55,8 +55,6 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> {
protected MyTextView mTextView;
protected View mInputView;
protected InputConnection mInputConnection;
- private final HashMap<String, InputMethodSubtype> mSubtypeMap =
- new HashMap<String, InputMethodSubtype>();
// A helper class to ease span tests
public static class SpanGetter {
@@ -143,7 +141,6 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> {
final boolean previousDebugSetting = setDebugMode(true);
mLatinIME.onCreate();
setDebugMode(previousDebugSetting);
- initSubtypeMap();
final EditorInfo ei = new EditorInfo();
ei.inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT;
final InputConnection ic = mTextView.onCreateInputConnection(ei);
@@ -161,26 +158,6 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> {
changeLanguage("en_US");
}
- private void initSubtypeMap() {
- final InputMethodManager imm = (InputMethodManager)mLatinIME.getSystemService(
- Context.INPUT_METHOD_SERVICE);
- final String packageName = mLatinIME.getPackageName();
- // The IMEs and subtypes don't need to be enabled to run this test because IMF isn't
- // involved here.
- for (final InputMethodInfo imi : imm.getInputMethodList()) {
- if (imi.getPackageName().equals(packageName)) {
- final int subtypeCount = imi.getSubtypeCount();
- for (int i = 0; i < subtypeCount; i++) {
- final InputMethodSubtype ims = imi.getSubtypeAt(i);
- final String locale = ims.getLocale();
- mSubtypeMap.put(locale, ims);
- }
- return;
- }
- }
- fail("LatinIME is not found");
- }
-
// We need to run the messages added to the handler from LatinIME. The only way to do
// that is to call Looper#loop() on the right looper, so we're going to get the looper
// object and call #loop() here. The messages in the handler actually run on the UI
@@ -270,12 +247,8 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> {
}
protected void changeLanguage(final String locale) {
- final InputMethodSubtype subtype = mSubtypeMap.get(locale);
mTextView.mCurrentLocale = LocaleUtils.constructLocaleFromString(locale);
- if (subtype == null) {
- fail("InputMethodSubtype for locale " + locale + " is not enabled");
- }
- SubtypeSwitcher.getInstance().onSubtypeChanged(subtype);
+ SubtypeSwitcher.getInstance().forceLocale(mTextView.mCurrentLocale);
mLatinIME.loadKeyboard();
mKeyboard = mLatinIME.mKeyboardSwitcher.getKeyboard();
waitForDictionaryToBeLoaded();