Loading tests/src/com/android/inputmethod/latin/InputTestsBase.java +15 −2 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> { protected LatinIME mLatinIME; protected Keyboard mKeyboard; protected TextView mTextView; protected MyTextView mTextView; protected InputConnection mInputConnection; private final HashMap<String, InputMethodSubtype> mSubtypeMap = new HashMap<String, InputMethodSubtype>(); Loading Loading @@ -86,6 +86,19 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> { return (mSpan instanceof SuggestionSpan) && 0 != (SuggestionSpan.FLAG_AUTO_CORRECTION & ((SuggestionSpan)mSpan).getFlags()); } public String[] getSuggestions() { return ((SuggestionSpan)mSpan).getSuggestions(); } } // A helper class to increase control over the TextView public static class MyTextView extends TextView { public MyTextView(final Context c) { super(c); } public void onAttachedToWindow() { super.onAttachedToWindow(); } } public InputTestsBase() { Loading @@ -112,7 +125,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> { @Override protected void setUp() throws Exception { super.setUp(); mTextView = new TextView(getContext()); mTextView = new MyTextView(getContext()); mTextView.setInputType(InputType.TYPE_CLASS_TEXT); mTextView.setEnabled(true); setupService(); Loading tests/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerServiceTest.java 0 → 100644 +43 −0 Original line number Diff line number Diff line /* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.android.inputmethod.latin.spellcheck; import android.text.SpannableStringBuilder; import android.text.style.CharacterStyle; import android.text.style.SuggestionSpan; import com.android.inputmethod.latin.InputTestsBase; public class AndroidSpellCheckerServiceTest extends InputTestsBase { public void testSpellchecker() { mTextView.onAttachedToWindow(); mTextView.setText("tgis"); 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 "tgis" should yield at least 2 suggestions (at this moment // it yields 5). assertTrue(suggestions.length >= 2); // We also assume the top suggestion should be "this". assertEquals("", "this", suggestions[0]); } } Loading
tests/src/com/android/inputmethod/latin/InputTestsBase.java +15 −2 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> { protected LatinIME mLatinIME; protected Keyboard mKeyboard; protected TextView mTextView; protected MyTextView mTextView; protected InputConnection mInputConnection; private final HashMap<String, InputMethodSubtype> mSubtypeMap = new HashMap<String, InputMethodSubtype>(); Loading Loading @@ -86,6 +86,19 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> { return (mSpan instanceof SuggestionSpan) && 0 != (SuggestionSpan.FLAG_AUTO_CORRECTION & ((SuggestionSpan)mSpan).getFlags()); } public String[] getSuggestions() { return ((SuggestionSpan)mSpan).getSuggestions(); } } // A helper class to increase control over the TextView public static class MyTextView extends TextView { public MyTextView(final Context c) { super(c); } public void onAttachedToWindow() { super.onAttachedToWindow(); } } public InputTestsBase() { Loading @@ -112,7 +125,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> { @Override protected void setUp() throws Exception { super.setUp(); mTextView = new TextView(getContext()); mTextView = new MyTextView(getContext()); mTextView.setInputType(InputType.TYPE_CLASS_TEXT); mTextView.setEnabled(true); setupService(); Loading
tests/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerServiceTest.java 0 → 100644 +43 −0 Original line number Diff line number Diff line /* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.android.inputmethod.latin.spellcheck; import android.text.SpannableStringBuilder; import android.text.style.CharacterStyle; import android.text.style.SuggestionSpan; import com.android.inputmethod.latin.InputTestsBase; public class AndroidSpellCheckerServiceTest extends InputTestsBase { public void testSpellchecker() { mTextView.onAttachedToWindow(); mTextView.setText("tgis"); 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 "tgis" should yield at least 2 suggestions (at this moment // it yields 5). assertTrue(suggestions.length >= 2); // We also assume the top suggestion should be "this". assertEquals("", "this", suggestions[0]); } }