Add a test for Armenian periods.
Bug: 11463389
Change-Id: Ic1a612bd6b2693369a1688e6a2273cff26fbe6d1
diff --git a/tests/src/com/android/inputmethod/latin/ShiftModeTests.java b/tests/src/com/android/inputmethod/latin/ShiftModeTests.java
index a319ffd..db3c9ba 100644
--- a/tests/src/com/android/inputmethod/latin/ShiftModeTests.java
+++ b/tests/src/com/android/inputmethod/latin/ShiftModeTests.java
@@ -111,24 +111,16 @@
assertTrue("(Spanish) Auto caps after inverted bang", isCapsModeAutoShifted());
}
- public void DISABLED_testOtherSentenceSeparators() {
- // 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());
- }
+ 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());
}
}
diff --git a/tests/src/com/android/inputmethod/latin/utils/CapsModeUtilsTests.java b/tests/src/com/android/inputmethod/latin/utils/CapsModeUtilsTests.java
index 020d632..c746c83 100644
--- a/tests/src/com/android/inputmethod/latin/utils/CapsModeUtilsTests.java
+++ b/tests/src/com/android/inputmethod/latin/utils/CapsModeUtilsTests.java
@@ -22,6 +22,7 @@
import android.text.TextUtils;
import com.android.inputmethod.latin.settings.SpacingAndPunctuations;
+import com.android.inputmethod.latin.utils.LocaleUtils;
import java.util.Locale;
@@ -109,5 +110,19 @@
allPathsForCaps("Liebe Sara, \n ", c | w | s, sp, false);
allPathsForCaps("Liebe Sara \n ", c | w | s, sp, false);
allPathsForCaps("Liebe Sara.\n ", c | w | s, sp, false);
+
+ // Test armenian period
+ sp = job.runInLocale(res, LocaleUtils.constructLocaleFromString("hy_AM"));
+ assertTrue("Period is not sentence separator in Armenian",
+ !sp.isSentenceSeparator('.'));
+ assertTrue("Sentence separator is Armenian period in Armenian",
+ sp.isSentenceSeparator(0x589));
+ // No space : capitalize only if MODE_CHARACTERS
+ allPathsForCaps("Word", c, sp, false);
+ allPathsForCaps("Word.", c, sp, false);
+ // Space, but no armenian period : capitalize if MODE_WORDS but not SENTENCES
+ allPathsForCaps("Word. ", c | w, sp, false);
+ // Armenian period : capitalize if MODE_SENTENCES
+ allPathsForCaps("Word\u0589 ", c | w | s, sp, false);
}
}