blob: 97de42fcbb15f0d37f4e217653f04f8b4bace32a [file] [log] [blame]
package com.xtremelabs.robolectric.shadows;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Gallery;
import com.xtremelabs.robolectric.WithTestDefaultsRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.sameInstance;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertTrue;
@RunWith(WithTestDefaultsRunner.class)
public class GalleryTest {
private Gallery gallery;
private TestOnKeyListener listener;
private KeyEvent event;
@Before
public void setUp() throws Exception {
gallery = new Gallery(null);
listener = new TestOnKeyListener();
gallery.setOnKeyListener(listener);
event = new KeyEvent(1, 2);
}
@Test
public void onKeyDown_dPadRightShouldTriggerKeyEventDPadRight() throws Exception {
assertTrue(gallery.onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, event));
assertThat(listener.keyCode, equalTo(KeyEvent.KEYCODE_DPAD_RIGHT));
assertThat((Gallery) listener.view, sameInstance(gallery));
assertThat(listener.event, sameInstance(event));
}
@Test
public void onKeyDown_dPadLeftShouldTriggerKeyEventListener() throws Exception {
assertTrue(gallery.onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, event));
assertThat(listener.keyCode, equalTo(KeyEvent.KEYCODE_DPAD_RIGHT));
assertThat((Gallery)listener.view, sameInstance(gallery));
assertThat(listener.event, sameInstance(event));
}
private static class TestOnKeyListener implements View.OnKeyListener {
View view;
int keyCode;
KeyEvent event;
@Override
public boolean onKey(View view, int keyCode, KeyEvent event) {
this.view = view;
this.keyCode = keyCode;
this.event = event;
return false;
}
}
}