am 46d111ff: Merge "Fix a bug where CAPS_WORDS would not be returned."

* commit '46d111ff4ae5ccf8031ded1742e3f4a68284e5f9':
  Fix a bug where CAPS_WORDS would not be returned.
main
Jean Chalard 2014-09-05 15:30:26 +00:00 committed by Android Git Automerger
commit 5d8363c487
2 changed files with 14 additions and 1 deletions

View File

@ -217,7 +217,8 @@ public final class CapsModeUtils {
// a sentence. If it's neither, the only remaining case is the period so we get the opposite
// case out of the way.
if (c == Constants.CODE_QUESTION_MARK || c == Constants.CODE_EXCLAMATION_MARK) {
return (TextUtils.CAP_MODE_CHARACTERS | TextUtils.CAP_MODE_SENTENCES) & reqModes;
return (TextUtils.CAP_MODE_CHARACTERS | TextUtils.CAP_MODE_WORDS
| TextUtils.CAP_MODE_SENTENCES) & reqModes;
}
if (!spacingAndPunctuations.isSentenceSeparator(c) || j <= 0) {
return (TextUtils.CAP_MODE_CHARACTERS | TextUtils.CAP_MODE_WORDS) & reqModes;

View File

@ -124,5 +124,17 @@ public class CapsModeUtilsTests extends AndroidTestCase {
allPathsForCaps("Word. ", c | w, sp, false);
// Armenian period : capitalize if MODE_SENTENCES
allPathsForCaps("Word\u0589 ", c | w | s, sp, false);
// Test for sentence terminators
sp = job.runInLocale(res, Locale.ENGLISH);
allPathsForCaps("Word? ", c | w | s, sp, false);
allPathsForCaps("Word?", c | w | s, sp, true);
allPathsForCaps("Word?", c, sp, false);
allPathsForCaps("Word! ", c | w | s, sp, false);
allPathsForCaps("Word!", c | w | s, sp, true);
allPathsForCaps("Word!", c, sp, false);
allPathsForCaps("Word; ", c | w, sp, false);
allPathsForCaps("Word;", c | w, sp, true);
allPathsForCaps("Word;", c, sp, false);
}
}