aboutsummaryrefslogtreecommitdiff
path: root/v1/src/test/java/com/xtremelabs/robolectric/shadows/ShadowBinderTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'v1/src/test/java/com/xtremelabs/robolectric/shadows/ShadowBinderTest.java')
-rw-r--r--v1/src/test/java/com/xtremelabs/robolectric/shadows/ShadowBinderTest.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/v1/src/test/java/com/xtremelabs/robolectric/shadows/ShadowBinderTest.java b/v1/src/test/java/com/xtremelabs/robolectric/shadows/ShadowBinderTest.java
new file mode 100644
index 000000000..ebe634085
--- /dev/null
+++ b/v1/src/test/java/com/xtremelabs/robolectric/shadows/ShadowBinderTest.java
@@ -0,0 +1,44 @@
+package com.xtremelabs.robolectric.shadows;
+
+import android.os.Binder;
+import android.os.Parcel;
+import android.os.RemoteException;
+import com.xtremelabs.robolectric.WithTestDefaultsRunner;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static junit.framework.Assert.assertTrue;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+@RunWith(WithTestDefaultsRunner.class)
+public class ShadowBinderTest {
+ @Test
+ public void transactCallsOnTransact() throws Exception {
+ TestBinder testBinder = new TestBinder();
+ Parcel data = Parcel.obtain();
+ Parcel reply = Parcel.obtain();
+ assertTrue(testBinder.transact(2, data, reply, 3));
+ assertThat(testBinder.code, equalTo(2));
+ assertThat(testBinder.data, sameInstance(data));
+ assertThat(testBinder.reply, sameInstance(reply));
+ assertThat(testBinder.flags, equalTo(3));
+ }
+
+ static class TestBinder extends Binder {
+ int code;
+ Parcel data;
+ Parcel reply;
+ int flags;
+
+ @Override
+ protected boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws RemoteException {
+ this.code = code;
+ this.data = data;
+ this.reply = reply;
+ this.flags = flags;
+ return true;
+ }
+ }
+}