Index: mojo/android/javatests/src/org/chromium/mojo/bindings/BindingsTestUtils.java |
diff --git a/mojo/android/javatests/src/org/chromium/mojo/bindings/BindingsTestUtils.java b/mojo/android/javatests/src/org/chromium/mojo/bindings/BindingsTestUtils.java |
index 3fcee86190cf6aa7196c165277514404e229f32a..fa93d376cb392edb6eaee778adb015989a684fd5 100644 |
--- a/mojo/android/javatests/src/org/chromium/mojo/bindings/BindingsTestUtils.java |
+++ b/mojo/android/javatests/src/org/chromium/mojo/bindings/BindingsTestUtils.java |
@@ -4,8 +4,12 @@ |
package org.chromium.mojo.bindings; |
+import org.chromium.mojo.TestUtils; |
+import org.chromium.mojo.system.Handle; |
import org.chromium.mojo.system.MojoException; |
+import org.chromium.mojo.system.Pair; |
+import java.nio.ByteBuffer; |
import java.util.ArrayList; |
import java.util.List; |
@@ -19,32 +23,65 @@ public class BindingsTestUtils { |
*/ |
public static class RecordingMessageReceiver implements MessageReceiver { |
- public final List<Message> messages = new ArrayList<Message>(); |
+ public final List<MessageWithHeader> messages = new ArrayList<MessageWithHeader>(); |
/** |
- * @see MessageReceiver#accept(Message) |
+ * @see MessageReceiver#accept(MessageWithHeader) |
*/ |
@Override |
- public boolean accept(Message message) { |
+ public boolean accept(MessageWithHeader message) { |
messages.add(message); |
return true; |
} |
} |
/** |
- * {@link Connector.ErrorHandler} that records any error it received. |
+ * {@link MessageReceiverWithResponder} that records any message it receives. |
*/ |
- public static class CapturingErrorHandler implements Connector.ErrorHandler { |
+ public static class RecordingMessageReceiverWithResponder extends RecordingMessageReceiver |
+ implements MessageReceiverWithResponder { |
+ |
+ public final List<Pair<MessageWithHeader, MessageReceiver>> messagesWithReceivers = |
+ new ArrayList<Pair<MessageWithHeader, MessageReceiver>>(); |
+ |
+ /** |
+ * @see MessageReceiverWithResponder#acceptWithResponder(MessageWithHeader, |
+ * MessageReceiver) |
+ */ |
+ @Override |
+ public boolean acceptWithResponder(MessageWithHeader message, MessageReceiver responder) { |
+ messagesWithReceivers.add(Pair.create(message, responder)); |
+ return true; |
+ } |
+ } |
+ |
+ /** |
+ * {@link ConnectionErrorHandler} that records any error it received. |
+ */ |
+ public static class CapturingErrorHandler implements ConnectionErrorHandler { |
public MojoException exception = null; |
/** |
- * @see Connector.ErrorHandler#onError(MojoException) |
+ * @see ConnectionErrorHandler#onConnectionError(MojoException) |
*/ |
@Override |
- public void onError(MojoException e) { |
+ public void onConnectionError(MojoException e) { |
exception = e; |
} |
} |
+ /** |
+ * Creates a new valid {@link MessageWithHeader}. |
+ */ |
+ public static MessageWithHeader newRandomMessageWithHeader(int size) { |
+ assert size > 16; |
+ ByteBuffer message = TestUtils.newRandomBuffer(size); |
+ int[] headerAsInts = { 16, 2, 0, 0 }; |
+ for (int i = 0; i < 4; ++i) { |
+ message.putInt(4 * i, headerAsInts[i]); |
+ } |
+ message.position(0); |
+ return new MessageWithHeader(new Message(message, new ArrayList<Handle>())); |
+ } |
} |