1f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreypackage com.xtremelabs.robolectric.shadows; 2f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey 3f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport org.junit.Before; 4f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport org.junit.Test; 5f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport org.junit.runner.RunWith; 6f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey 7f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport android.app.Activity; 8f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport android.view.inputmethod.InputMethodManager; 9f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey 10f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport com.xtremelabs.robolectric.Robolectric; 11f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 12f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey 13f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport static org.hamcrest.CoreMatchers.equalTo; 14f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreyimport static org.junit.Assert.assertThat; 15f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey 16f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey@RunWith(WithTestDefaultsRunner.class) 17f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphreypublic class InputMethodManagerTest { 18f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey 19f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey private InputMethodManager manager; 20f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey private ShadowInputMethodManager shadow; 21f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey 22f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey @Before 23f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey public void setUp() throws Exception { 24f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey manager = (InputMethodManager) Robolectric.application.getSystemService(Activity.INPUT_METHOD_SERVICE); 25f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey shadow = Robolectric.shadowOf(manager); 26f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey } 27f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey 28f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey @Test 29f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey public void shouldRecordSoftInputVisibility() { 30f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey assertThat(shadow.isSoftInputVisible(), equalTo(false)); 31f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey 32f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey manager.showSoftInput(null, 0); 33f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey assertThat(shadow.isSoftInputVisible(), equalTo(true)); 34f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey 35f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey manager.hideSoftInputFromWindow(null, 0); 36f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey assertThat(shadow.isSoftInputVisible(), equalTo(false)); 37f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey } 38f02412fe85c5ff4a011793b408fb33bafb122340Rich Humphrey} 39