blob: b2e6ac85213b48e3928ada0e4bf9ef2352476a91 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.mojo.bindings;
import android.support.test.filters.SmallTest;
import junit.framework.TestCase;
import org.chromium.mojo.bindings.test.mojom.imported.Point;
/**
* Testing internal classes of interfaces.
*/
public class MessageHeaderTest extends TestCase {
/**
* Testing that headers are identical after being serialized/deserialized.
*/
@SmallTest
public void testSimpleMessageHeader() {
final int xValue = 1;
final int yValue = 2;
final int type = 6;
Point p = new Point();
p.x = xValue;
p.y = yValue;
ServiceMessage message = p.serializeWithHeader(null, new MessageHeader(type));
MessageHeader header = message.getHeader();
assertTrue(header.validateHeader(type, 0));
assertEquals(type, header.getType());
assertEquals(0, header.getFlags());
Point p2 = Point.deserialize(message.getPayload());
assertNotNull(p2);
assertEquals(p.x, p2.x);
assertEquals(p.y, p2.y);
}
/**
* Testing that headers are identical after being serialized/deserialized.
*/
@SmallTest
public void testMessageWithRequestIdHeader() {
final int xValue = 1;
final int yValue = 2;
final int type = 6;
final long requestId = 0x1deadbeafL;
Point p = new Point();
p.x = xValue;
p.y = yValue;
ServiceMessage message = p.serializeWithHeader(null,
new MessageHeader(type, MessageHeader.MESSAGE_EXPECTS_RESPONSE_FLAG, 0));
message.setRequestId(requestId);
MessageHeader header = message.getHeader();
assertTrue(header.validateHeader(type, MessageHeader.MESSAGE_EXPECTS_RESPONSE_FLAG));
assertEquals(type, header.getType());
assertEquals(MessageHeader.MESSAGE_EXPECTS_RESPONSE_FLAG, header.getFlags());
assertEquals(requestId, header.getRequestId());
Point p2 = Point.deserialize(message.getPayload());
assertNotNull(p2);
assertEquals(p.x, p2.x);
assertEquals(p.y, p2.y);
}
}