Skip to content
Snippets Groups Projects
Commit 17901db6 authored by Jean Chalard's avatar Jean Chalard
Browse files

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
parent 626e1745
No related branches found
No related tags found
No related merge requests found
......@@ -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);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment