Add a test for Armenian periods.
Bug: 11463389 Change-Id: Ic1a612bd6b2693369a1688e6a2273cff26fbe6d1
This commit is contained in:
parent
4c45fff240
commit
bfea7dec1a
2 changed files with 26 additions and 19 deletions
|
@ -111,24 +111,16 @@ 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
|
assertTrue("(Armenian) Auto caps at start", isCapsModeAutoShifted());
|
||||||
// locale is not present as a device locale, then the application under test can't
|
type("Hey. ");
|
||||||
// access the resources in that locale -- though it works when the app is actually
|
assertFalse("(Armenian) No auto-caps after latin period", isCapsModeAutoShifted());
|
||||||
// running on the device and not under test. If we ever figure out what's going
|
type("Hey\u0589");
|
||||||
// on, remove this test.
|
assertFalse("(Armenian) No auto-caps directly after armenian period",
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
isCapsModeAutoShifted());
|
||||||
changeLanguage("hy-AM");
|
type(" ");
|
||||||
assertTrue("(Armenian) Auto caps at start", isCapsModeAutoShifted());
|
assertTrue("(Armenian) Auto-caps after armenian period-whitespace",
|
||||||
type("Hey. ");
|
isCapsModeAutoShifted());
|
||||||
assertFalse("(Armenian) No auto-caps after latin period", isCapsModeAutoShifted());
|
|
||||||
type("Hey\u0589");
|
|
||||||
assertFalse("(Armenian) No auto-caps directly after armenian period",
|
|
||||||
isCapsModeAutoShifted());
|
|
||||||
type(" ");
|
|
||||||
assertTrue("(Armenian) Auto-caps after armenian period-whitespace",
|
|
||||||
isCapsModeAutoShifted());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue