Loading tests/src/com/android/inputmethod/latin/InputTestsBase.java +10 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.inputmethod.keyboard.Key; import com.android.inputmethod.keyboard.Keyboard; import java.util.HashMap; import java.util.Locale; public class InputTestsBase extends ServiceTestCase<LatinIME> { Loading Loading @@ -93,12 +94,20 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> { // A helper class to increase control over the TextView public static class MyTextView extends TextView { public Locale mCurrentLocale; public MyTextView(final Context c) { super(c); } public void onAttachedToWindow() { super.onAttachedToWindow(); } public Locale getTextServicesLocale() { // This method is necessary because TextView is asking this method for the language // to check the spell in. If we don't override this, the spell checker will run in // whatever language the keyboard is currently set on the test device, ignoring any // settings we do inside the tests. return mCurrentLocale; } } public InputTestsBase() { Loading Loading @@ -261,6 +270,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> { protected void changeLanguage(final String locale) { final InputMethodSubtype subtype = mSubtypeMap.get(locale); mTextView.mCurrentLocale = LocaleUtils.constructLocaleFromString(locale); if (subtype == null) { fail("InputMethodSubtype for locale " + locale + " is not enabled"); } Loading tests/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerServiceTest.java +20 −0 Original line number Diff line number Diff line Loading @@ -40,4 +40,24 @@ public class AndroidSpellCheckerServiceTest extends InputTestsBase { // We also assume the top suggestion should be "this". assertEquals("", "this", suggestions[0]); } public void testRussianSpellchecker() { changeLanguage("ru"); mTextView.onAttachedToWindow(); mTextView.setText("годп"); type(" "); sleep(1000); runMessages(); sleep(1000); final SpanGetter span = new SpanGetter(mTextView.getText(), SuggestionSpan.class); // If no span, the following will crash final String[] suggestions = span.getSuggestions(); // For this test we consider "годп" should yield at least 2 suggestions (at this moment // it yields 5). assertTrue(suggestions.length >= 2); // We also assume the top suggestion should be "года", which is the top word in the // Russian dictionary. assertEquals("", "года", suggestions[0]); } } Loading
tests/src/com/android/inputmethod/latin/InputTestsBase.java +10 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.inputmethod.keyboard.Key; import com.android.inputmethod.keyboard.Keyboard; import java.util.HashMap; import java.util.Locale; public class InputTestsBase extends ServiceTestCase<LatinIME> { Loading Loading @@ -93,12 +94,20 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> { // A helper class to increase control over the TextView public static class MyTextView extends TextView { public Locale mCurrentLocale; public MyTextView(final Context c) { super(c); } public void onAttachedToWindow() { super.onAttachedToWindow(); } public Locale getTextServicesLocale() { // This method is necessary because TextView is asking this method for the language // to check the spell in. If we don't override this, the spell checker will run in // whatever language the keyboard is currently set on the test device, ignoring any // settings we do inside the tests. return mCurrentLocale; } } public InputTestsBase() { Loading Loading @@ -261,6 +270,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> { protected void changeLanguage(final String locale) { final InputMethodSubtype subtype = mSubtypeMap.get(locale); mTextView.mCurrentLocale = LocaleUtils.constructLocaleFromString(locale); if (subtype == null) { fail("InputMethodSubtype for locale " + locale + " is not enabled"); } Loading
tests/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerServiceTest.java +20 −0 Original line number Diff line number Diff line Loading @@ -40,4 +40,24 @@ public class AndroidSpellCheckerServiceTest extends InputTestsBase { // We also assume the top suggestion should be "this". assertEquals("", "this", suggestions[0]); } public void testRussianSpellchecker() { changeLanguage("ru"); mTextView.onAttachedToWindow(); mTextView.setText("годп"); type(" "); sleep(1000); runMessages(); sleep(1000); final SpanGetter span = new SpanGetter(mTextView.getText(), SuggestionSpan.class); // If no span, the following will crash final String[] suggestions = span.getSuggestions(); // For this test we consider "годп" should yield at least 2 suggestions (at this moment // it yields 5). assertTrue(suggestions.length >= 2); // We also assume the top suggestion should be "года", which is the top word in the // Russian dictionary. assertEquals("", "года", suggestions[0]); } }