| 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>()));
|
| + }
|
| }
|
|
|