am 1b11da15: Merge "Add a first test for the spell checker" into jb-mr1-dev
* commit '1b11da15ea046a8f6f59a5fb9f9239ed12f2319d': Add a first test for the spell checkermain
commit
12b78258e6
|
@ -51,7 +51,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> {
|
||||||
|
|
||||||
protected LatinIME mLatinIME;
|
protected LatinIME mLatinIME;
|
||||||
protected Keyboard mKeyboard;
|
protected Keyboard mKeyboard;
|
||||||
protected TextView mTextView;
|
protected MyTextView mTextView;
|
||||||
protected InputConnection mInputConnection;
|
protected InputConnection mInputConnection;
|
||||||
private final HashMap<String, InputMethodSubtype> mSubtypeMap =
|
private final HashMap<String, InputMethodSubtype> mSubtypeMap =
|
||||||
new HashMap<String, InputMethodSubtype>();
|
new HashMap<String, InputMethodSubtype>();
|
||||||
|
@ -86,6 +86,19 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> {
|
||||||
return (mSpan instanceof SuggestionSpan) &&
|
return (mSpan instanceof SuggestionSpan) &&
|
||||||
0 != (SuggestionSpan.FLAG_AUTO_CORRECTION & ((SuggestionSpan)mSpan).getFlags());
|
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() {
|
public InputTestsBase() {
|
||||||
|
@ -112,7 +125,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> {
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
mTextView = new TextView(getContext());
|
mTextView = new MyTextView(getContext());
|
||||||
mTextView.setInputType(InputType.TYPE_CLASS_TEXT);
|
mTextView.setInputType(InputType.TYPE_CLASS_TEXT);
|
||||||
mTextView.setEnabled(true);
|
mTextView.setEnabled(true);
|
||||||
setupService();
|
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 New Issue