1053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawalapackage com.xtremelabs.robolectric.shadows; 2053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala 3053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawalaimport android.os.Binder; 4053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawalaimport android.os.Parcel; 5053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawalaimport android.os.RemoteException; 6053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawalaimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 7053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawalaimport org.junit.Test; 8053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawalaimport org.junit.runner.RunWith; 9053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala 10053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawalaimport static junit.framework.Assert.assertTrue; 11053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawalaimport static org.hamcrest.CoreMatchers.equalTo; 12053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawalaimport static org.hamcrest.CoreMatchers.sameInstance; 13053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawalaimport static org.hamcrest.MatcherAssert.assertThat; 14053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala 15053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala@RunWith(WithTestDefaultsRunner.class) 16053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawalapublic class ShadowBinderTest { 17053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala @Test 18053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala public void transactCallsOnTransact() throws Exception { 19053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala TestBinder testBinder = new TestBinder(); 20053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala Parcel data = Parcel.obtain(); 21053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala Parcel reply = Parcel.obtain(); 22053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala assertTrue(testBinder.transact(2, data, reply, 3)); 23053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala assertThat(testBinder.code, equalTo(2)); 24053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala assertThat(testBinder.data, sameInstance(data)); 25053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala assertThat(testBinder.reply, sameInstance(reply)); 26053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala assertThat(testBinder.flags, equalTo(3)); 27053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala } 28053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala 29053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala static class TestBinder extends Binder { 30053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala int code; 31053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala Parcel data; 32053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala Parcel reply; 33053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala int flags; 34053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala 35053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala @Override 36053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala protected boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws RemoteException { 37053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala this.code = code; 38053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala this.data = data; 39053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala this.reply = reply; 40053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala this.flags = flags; 41053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala return true; 42053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala } 43053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala } 44053f4fe6cc16a60b7c96ad79472274b3c8604ad2Phil Goodwin & Rick Kawala} 45