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
|
// a sentence. If it's neither, the only remaining case is the period so we get the opposite
|
||||||
// case out of the way.
|
// case out of the way.
|
||||||
if (c == Constants.CODE_QUESTION_MARK || c == Constants.CODE_EXCLAMATION_MARK) {
|
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) {
|
if (!spacingAndPunctuations.isSentenceSeparator(c) || j <= 0) {
|
||||||
return (TextUtils.CAP_MODE_CHARACTERS | TextUtils.CAP_MODE_WORDS) & reqModes;
|
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);
|
allPathsForCaps("Word. ", c | w, sp, false);
|
||||||
// Armenian period : capitalize if MODE_SENTENCES
|
// Armenian period : capitalize if MODE_SENTENCES
|
||||||
allPathsForCaps("Word\u0589 ", c | w | s, sp, false);
|
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