Chromium Code Reviews| 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..f7fdc21c58055c49728869ee037eecbb7ef120b8 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,64 @@ 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 = |
|
rmcilroy
2014/07/16 15:06:44
nit - newline above
qsr
2014/07/16 15:58:38
Done.
|
| + 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>())); |
| + } |
| } |