Merge "Add a first test for the spell checker" into jb-mr1-dev
This commit is contained in:
commit
1b11da15ea
2 changed files with 58 additions and 2 deletions
|
@ -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>();
|
||||
|
@ -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() {
|
||||
|
@ -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();
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* 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…
Reference in a new issue