From fa69784a96c12049dd7296ad5f7202e862413863 Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Wed, 28 May 2014 17:18:20 +0900 Subject: [PATCH] Run test only on KitKat devices This won't work on < KK because it needs the armenian locale to be present on the device. I don't know why, but when under test, apps don't seem to be able to resolve resources for locales not supported by the system. Change-Id: Ie0f4fc30954978061cae751024bab5569a2ab2eb --- .../inputmethod/latin/ShiftModeTests.java | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/tests/src/com/android/inputmethod/latin/ShiftModeTests.java b/tests/src/com/android/inputmethod/latin/ShiftModeTests.java index f3756c2c8..95851f363 100644 --- a/tests/src/com/android/inputmethod/latin/ShiftModeTests.java +++ b/tests/src/com/android/inputmethod/latin/ShiftModeTests.java @@ -16,6 +16,7 @@ package com.android.inputmethod.latin; +import android.os.Build; import android.test.suitebuilder.annotation.LargeTest; import android.text.TextUtils; import android.view.inputmethod.EditorInfo; @@ -111,15 +112,23 @@ public class ShiftModeTests extends InputTestsBase { } public void testOtherSentenceSeparators() { - changeLanguage("hy-AM"); - assertTrue("(Armenian) Auto caps at start", isCapsModeAutoShifted()); - type("Hey. "); - assertFalse("(Armenian) No auto-caps after latin period", isCapsModeAutoShifted()); - type("Hey\u0589"); - assertFalse("(Armenian) No auto-caps directly after armenian period", - isCapsModeAutoShifted()); - type(" "); - assertTrue("(Armenian) Auto-caps after armenian period-whitespace", - isCapsModeAutoShifted()); + // We only run this test on Kitkat+ because previous versions of Android don't + // have an Armenian locale. For some reason I don't know, when the requested + // locale is not present as a device locale, then the application under test can't + // access the resources in that locale -- though it works when the app is actually + // running on the device and not under test. If we ever figure out what's going + // on, remove this test. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + changeLanguage("hy-AM"); + assertTrue("(Armenian) Auto caps at start", isCapsModeAutoShifted()); + type("Hey. "); + assertFalse("(Armenian) No auto-caps after latin period", isCapsModeAutoShifted()); + type("Hey\u0589"); + assertFalse("(Armenian) No auto-caps directly after armenian period", + isCapsModeAutoShifted()); + type(" "); + assertTrue("(Armenian) Auto-caps after armenian period-whitespace", + isCapsModeAutoShifted()); + } } }