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