package org.robolectric.shadows; import android.view.KeyCharacterMap; import android.view.KeyEvent; import android.widget.EditText; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; import org.robolectric.TestRunners; import static org.assertj.core.api.Assertions.assertThat; @RunWith(TestRunners.MultiApiSelfTest.class) public class ShadowKeyCharacterMapTest { private final KeyCharacterMap keyMap = ShadowKeyCharacterMap.load(0); @Test public void dispatchKeyEvent_shouldSetText() throws Exception { EditText editText = new EditText(RuntimeEnvironment.application); editText.requestFocus(); for (KeyEvent evt : keyMap.getEvents("string".toCharArray())) { editText.dispatchKeyEvent(evt); } Thread.sleep(500); ShadowLooper.runUiThreadTasksIncludingDelayedTasks(); assertThat(editText.getText().toString()).isEqualTo("string"); } }