Home | History | Annotate | Download | only in shadows
      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