Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1202)

Unified Diff: mojo/android/javatests/src/org/chromium/mojo/bindings/BindingsTestUtils.java

Issue 371603003: Adding a router class to handle messages that expect responses. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: FOllow review Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>()));
+ }
}

Powered by Google App Engine
This is Rietveld 408576698