am 80bf2821: Merge "Add a test for Armenian periods."

* commit '80bf2821dd01d1db652b9ba2754c77d4a490894e':
  Add a test for Armenian periods.
This commit is contained in:
Jean Chalard 2014-06-23 11:57:33 +00:00 committed by Android Git Automerger
commit d269b63b7b
2 changed files with 26 additions and 19 deletions

View file

@ -111,15 +111,8 @@ public class ShiftModeTests extends InputTestsBase {
assertTrue("(Spanish) Auto caps after inverted bang", isCapsModeAutoShifted()); assertTrue("(Spanish) Auto caps after inverted bang", isCapsModeAutoShifted());
} }
public void DISABLED_testOtherSentenceSeparators() { public void testOtherSentenceSeparators() {
// We only run this test on Kitkat+ because previous versions of Android don't changeLanguage("hy_AM");
// 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()); assertTrue("(Armenian) Auto caps at start", isCapsModeAutoShifted());
type("Hey. "); type("Hey. ");
assertFalse("(Armenian) No auto-caps after latin period", isCapsModeAutoShifted()); assertFalse("(Armenian) No auto-caps after latin period", isCapsModeAutoShifted());
@ -130,5 +123,4 @@ public class ShiftModeTests extends InputTestsBase {
assertTrue("(Armenian) Auto-caps after armenian period-whitespace", assertTrue("(Armenian) Auto-caps after armenian period-whitespace",
isCapsModeAutoShifted()); isCapsModeAutoShifted());
} }
}
} }

View file

@ -22,6 +22,7 @@ import android.test.suitebuilder.annotation.SmallTest;
import android.text.TextUtils; import android.text.TextUtils;
import com.android.inputmethod.latin.settings.SpacingAndPunctuations; import com.android.inputmethod.latin.settings.SpacingAndPunctuations;
import com.android.inputmethod.latin.utils.LocaleUtils;
import java.util.Locale; import java.util.Locale;
@ -109,5 +110,19 @@ public class CapsModeUtilsTests extends AndroidTestCase {
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); 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);
} }
} }