• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.xtremelabs.robolectric.shadows;
2 
3 import android.view.KeyEvent;
4 import android.view.View;
5 import android.widget.Gallery;
6 import com.xtremelabs.robolectric.WithTestDefaultsRunner;
7 import org.junit.Before;
8 import org.junit.Test;
9 import org.junit.runner.RunWith;
10 
11 import static org.hamcrest.CoreMatchers.equalTo;
12 import static org.hamcrest.CoreMatchers.sameInstance;
13 import static org.hamcrest.MatcherAssert.assertThat;
14 import static org.junit.Assert.assertTrue;
15 
16 @RunWith(WithTestDefaultsRunner.class)
17 public class GalleryTest {
18     private Gallery gallery;
19     private TestOnKeyListener listener;
20     private KeyEvent event;
21 
22     @Before
setUp()23     public void setUp() throws Exception {
24         gallery = new Gallery(null);
25         listener = new TestOnKeyListener();
26         gallery.setOnKeyListener(listener);
27         event = new KeyEvent(1, 2);
28     }
29 
30     @Test
onKeyDown_dPadRightShouldTriggerKeyEventDPadRight()31     public void onKeyDown_dPadRightShouldTriggerKeyEventDPadRight() throws Exception {
32         assertTrue(gallery.onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, event));
33         assertThat(listener.keyCode, equalTo(KeyEvent.KEYCODE_DPAD_RIGHT));
34         assertThat((Gallery) listener.view, sameInstance(gallery));
35         assertThat(listener.event, sameInstance(event));
36     }
37 
38     @Test
onKeyDown_dPadLeftShouldTriggerKeyEventListener()39     public void onKeyDown_dPadLeftShouldTriggerKeyEventListener() throws Exception {
40         assertTrue(gallery.onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, event));
41         assertThat(listener.keyCode, equalTo(KeyEvent.KEYCODE_DPAD_RIGHT));
42         assertThat((Gallery)listener.view, sameInstance(gallery));
43         assertThat(listener.event, sameInstance(event));
44     }
45 
46     private static class TestOnKeyListener implements View.OnKeyListener {
47         View view;
48         int keyCode;
49         KeyEvent event;
50 
51         @Override
onKey(View view, int keyCode, KeyEvent event)52         public boolean onKey(View view, int keyCode, KeyEvent event) {
53             this.view = view;
54             this.keyCode = keyCode;
55             this.event = event;
56             return false;
57         }
58     }
59 }
60