1 package org.robolectric.shadows; 2 3 import static org.assertj.core.api.Assertions.assertThat; 4 5 import android.view.KeyCharacterMap; 6 import android.view.KeyEvent; 7 import android.widget.EditText; 8 import org.junit.Test; 9 import org.junit.runner.RunWith; 10 import org.robolectric.RobolectricTestRunner; 11 import org.robolectric.RuntimeEnvironment; 12 13 @RunWith(RobolectricTestRunner.class) 14 public class ShadowKeyCharacterMapTest { 15 private final KeyCharacterMap keyMap = ShadowKeyCharacterMap.load(0); 16 17 @Test 18 public void dispatchKeyEvent_shouldSetText() throws Exception { 19 EditText editText = new EditText(RuntimeEnvironment.application); 20 editText.requestFocus(); 21 22 for (KeyEvent evt : keyMap.getEvents("string".toCharArray())) { 23 editText.dispatchKeyEvent(evt); 24 } 25 26 Thread.sleep(500); 27 ShadowLooper.runUiThreadTasksIncludingDelayedTasks(); 28 29 assertThat(editText.getText().toString()).isEqualTo("string"); 30 } 31 } 32