| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.mojo.bindings; | 5 package org.chromium.mojo.bindings; |
| 6 | 6 |
| 7 import android.test.suitebuilder.annotation.SmallTest; | 7 import android.test.suitebuilder.annotation.SmallTest; |
| 8 | 8 |
| 9 import org.chromium.mojo.MojoTestCase; | 9 import org.chromium.mojo.MojoTestCase; |
| 10 import org.chromium.mojo.bindings.BindingsTestUtils.CapturingErrorHandler; | 10 import org.chromium.mojo.bindings.BindingsTestUtils.CapturingErrorHandler; |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 MessageHeader header = new MessageHeader(requestMessageType, | 60 MessageHeader header = new MessageHeader(requestMessageType, |
| 61 MessageHeader.MESSAGE_EXPECTS_RESPONSE_FLAG, 0); | 61 MessageHeader.MESSAGE_EXPECTS_RESPONSE_FLAG, 0); |
| 62 Encoder encoder = new Encoder(CoreImpl.getInstance(), header.getSize()); | 62 Encoder encoder = new Encoder(CoreImpl.getInstance(), header.getSize()); |
| 63 header.encode(encoder); | 63 header.encode(encoder); |
| 64 mRouter.acceptWithResponder(encoder.getMessage(), mReceiver); | 64 mRouter.acceptWithResponder(encoder.getMessage(), mReceiver); |
| 65 ByteBuffer receiveBuffer = ByteBuffer.allocateDirect(header.getSize()); | 65 ByteBuffer receiveBuffer = ByteBuffer.allocateDirect(header.getSize()); |
| 66 MessagePipeHandle.ReadMessageResult result = mHandle.readMessage(receive
Buffer, 0, | 66 MessagePipeHandle.ReadMessageResult result = mHandle.readMessage(receive
Buffer, 0, |
| 67 MessagePipeHandle.ReadFlags.NONE); | 67 MessagePipeHandle.ReadFlags.NONE); |
| 68 | 68 |
| 69 assertEquals(MojoResult.OK, result.getMojoResult()); | 69 assertEquals(MojoResult.OK, result.getMojoResult()); |
| 70 MessageHeader receivedHeader = new SimpleMessage( | 70 MessageHeader receivedHeader = new Message( |
| 71 receiveBuffer, new ArrayList<Handle>()).asMojoMessage().getHeade
r(); | 71 receiveBuffer, new ArrayList<Handle>()).asServiceMessage().getHe
ader(); |
| 72 | 72 |
| 73 assertEquals(header.getType(), receivedHeader.getType()); | 73 assertEquals(header.getType(), receivedHeader.getType()); |
| 74 assertEquals(header.getFlags(), receivedHeader.getFlags()); | 74 assertEquals(header.getFlags(), receivedHeader.getFlags()); |
| 75 assertTrue(receivedHeader.getRequestId() != 0); | 75 assertTrue(receivedHeader.getRequestId() != 0); |
| 76 | 76 |
| 77 // Sending the response. | 77 // Sending the response. |
| 78 MessageHeader responseHeader = new MessageHeader(responseMessageType, | 78 MessageHeader responseHeader = new MessageHeader(responseMessageType, |
| 79 MessageHeader.MESSAGE_IS_RESPONSE_FLAG, receivedHeader.getReques
tId()); | 79 MessageHeader.MESSAGE_IS_RESPONSE_FLAG, receivedHeader.getReques
tId()); |
| 80 encoder = new Encoder(CoreImpl.getInstance(), header.getSize()); | 80 encoder = new Encoder(CoreImpl.getInstance(), header.getSize()); |
| 81 responseHeader.encode(encoder); | 81 responseHeader.encode(encoder); |
| 82 Message responseMessage = encoder.getMessage(); | 82 Message responseMessage = encoder.getMessage(); |
| 83 mHandle.writeMessage(responseMessage.getData(), new ArrayList<Handle>(), | 83 mHandle.writeMessage(responseMessage.getData(), new ArrayList<Handle>(), |
| 84 MessagePipeHandle.WriteFlags.NONE); | 84 MessagePipeHandle.WriteFlags.NONE); |
| 85 nativeRunLoop(RUN_LOOP_TIMEOUT_MS); | 85 nativeRunLoop(RUN_LOOP_TIMEOUT_MS); |
| 86 | 86 |
| 87 assertEquals(1, mReceiver.messages.size()); | 87 assertEquals(1, mReceiver.messages.size()); |
| 88 MessageWithHeader receivedResponseMessage = mReceiver.messages.get(0).as
MojoMessage(); | 88 ServiceMessage receivedResponseMessage = mReceiver.messages.get(0).asSer
viceMessage(); |
| 89 assertEquals(MessageHeader.MESSAGE_IS_RESPONSE_FLAG, | 89 assertEquals(MessageHeader.MESSAGE_IS_RESPONSE_FLAG, |
| 90 receivedResponseMessage.getHeader().getFlags()); | 90 receivedResponseMessage.getHeader().getFlags()); |
| 91 assertEquals(responseMessage.getData(), receivedResponseMessage.getData(
)); | 91 assertEquals(responseMessage.getData(), receivedResponseMessage.getData(
)); |
| 92 } | 92 } |
| 93 | 93 |
| 94 /** | 94 /** |
| 95 * Testing receiving a message via the router that expected a response. | 95 * Testing receiving a message via the router that expected a response. |
| 96 */ | 96 */ |
| 97 @SmallTest | 97 @SmallTest |
| 98 public void testReceivingViaRouterWithResponse() { | 98 public void testReceivingViaRouterWithResponse() { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 123 Message message = encoder.getMessage(); | 123 Message message = encoder.getMessage(); |
| 124 receivedMessage.second.accept(message); | 124 receivedMessage.second.accept(message); |
| 125 ByteBuffer receivedResponseMessage = ByteBuffer.allocateDirect(responseH
eader.getSize()); | 125 ByteBuffer receivedResponseMessage = ByteBuffer.allocateDirect(responseH
eader.getSize()); |
| 126 MessagePipeHandle.ReadMessageResult result = mHandle.readMessage(receive
dResponseMessage, 0, | 126 MessagePipeHandle.ReadMessageResult result = mHandle.readMessage(receive
dResponseMessage, 0, |
| 127 MessagePipeHandle.ReadFlags.NONE); | 127 MessagePipeHandle.ReadFlags.NONE); |
| 128 | 128 |
| 129 assertEquals(MojoResult.OK, result.getMojoResult()); | 129 assertEquals(MojoResult.OK, result.getMojoResult()); |
| 130 assertEquals(message.getData(), receivedResponseMessage); | 130 assertEquals(message.getData(), receivedResponseMessage); |
| 131 } | 131 } |
| 132 } | 132 } |
| OLD | NEW |