X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fcontent%2Fpublic%2Fandroid%2Fjavatests%2Fsrc%2Forg%2Fchromium%2Fcontent%2Fbrowser%2Finput%2FAdapterInputConnectionTest.java;h=9321bc5cab9e160a1aece35fe7f18ee2430d2b1c;hb=ff3e2503a20db9193d323c1d19c38c68004dec4a;hp=9dcce92d8072259dc004439dc0256de4ee284a4c;hpb=7338fba38ba696536d1cc9d389afd716a6ab2fe6;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/content/public/android/javatests/src/org/chromium/content/browser/input/AdapterInputConnectionTest.java b/src/content/public/android/javatests/src/org/chromium/content/browser/input/AdapterInputConnectionTest.java index 9dcce92..9321bc5 100644 --- a/src/content/public/android/javatests/src/org/chromium/content/browser/input/AdapterInputConnectionTest.java +++ b/src/content/public/android/javatests/src/org/chromium/content/browser/input/AdapterInputConnectionTest.java @@ -78,6 +78,32 @@ public class AdapterInputConnectionTest extends ContentShellTestBase { mWrapper.verifyUpdateSelectionCall(0, 4, 4, 0 ,4); } + @MediumTest + @Feature({"TextInput", "Main"}) + public void testDismissInputMethodWindowAfterFinishingTyping() throws Throwable { + assertEquals(false, mWrapper.isHidden()); + + mConnection.performEditorAction(EditorInfo.IME_ACTION_NEXT); + assertEquals(false, mWrapper.isHidden()); + mWrapper.showSoftInput(null, 0, null); + + mConnection.performEditorAction(EditorInfo.IME_ACTION_SEND); + assertEquals(false, mWrapper.isHidden()); + mWrapper.showSoftInput(null, 0, null); + + mConnection.performEditorAction(EditorInfo.IME_ACTION_GO); + assertEquals(true, mWrapper.isHidden()); + mWrapper.showSoftInput(null, 0, null); + + mConnection.performEditorAction(EditorInfo.IME_ACTION_DONE); + assertEquals(true, mWrapper.isHidden()); + mWrapper.showSoftInput(null, 0, null); + + mConnection.performEditorAction(EditorInfo.IME_ACTION_SEARCH); + assertEquals(true, mWrapper.isHidden()); + mWrapper.showSoftInput(null, 0, null); + } + private static class TestImeAdapter extends ImeAdapter { public TestImeAdapter(InputMethodManagerWrapper wrapper, ImeAdapterDelegate embedder) { super(wrapper, embedder); @@ -86,6 +112,7 @@ public class AdapterInputConnectionTest extends ContentShellTestBase { private static class TestInputMethodManagerWrapper extends InputMethodManagerWrapper { private final ArrayList mUpdates = new ArrayList(); + private boolean hidden = false; public TestInputMethodManagerWrapper(Context context) { super(context); @@ -95,7 +122,9 @@ public class AdapterInputConnectionTest extends ContentShellTestBase { public void restartInput(View view) {} @Override - public void showSoftInput(View view, int flags, ResultReceiver resultReceiver) {} + public void showSoftInput(View view, int flags, ResultReceiver resultReceiver) { + hidden = false; + } @Override public boolean isActive(View view) { @@ -105,6 +134,7 @@ public class AdapterInputConnectionTest extends ContentShellTestBase { @Override public boolean hideSoftInputFromWindow(IBinder windowToken, int flags, ResultReceiver resultReceiver) { + hidden = true; return true; } @@ -127,6 +157,10 @@ public class AdapterInputConnectionTest extends ContentShellTestBase { state.compositionStart); assertEquals("Composition end did not match", compositionEnd, state.compositionEnd); } + + public boolean isHidden() { + return hidden; + } } private static class TestImeAdapterDelegate implements ImeAdapterDelegate {