Fix a bug where CAPS_WORDS would not be returned.
Also introduce some unit tests that would have caught the bug. Bug: 17398284 Change-Id: Idb715b7bd2f70992d6cdf4e25ef368809382caef
This commit is contained in:
parent
626e174519
commit
17901db691
2 changed files with 14 additions and 1 deletions
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue