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 3 // found in the LICENSE file. 4 5 package org.chromium.mojo.bindings; 6 7 import android.test.suitebuilder.annotation.SmallTest; 8 9 import junit.framework.TestCase; 10 11 import org.chromium.mojo.bindings.test.mojom.imported.Point; 12 13 /** 14 * Testing internal classes of interfaces. 15 */ 16 public class MessageHeaderTest extends TestCase { 17 18 /** 19 * Testing that headers are identical after being serialized/deserialized. 20 */ 21 @SmallTest testSimpleMessageHeader()22 public void testSimpleMessageHeader() { 23 final int xValue = 1; 24 final int yValue = 2; 25 final int type = 6; 26 Point p = new Point(); 27 p.x = xValue; 28 p.y = yValue; 29 ServiceMessage message = p.serializeWithHeader(null, new MessageHeader(type)); 30 31 MessageHeader header = message.getHeader(); 32 assertTrue(header.validateHeader(type, 0)); 33 assertEquals(type, header.getType()); 34 assertEquals(0, header.getFlags()); 35 36 Point p2 = Point.deserialize(message.getPayload()); 37 assertNotNull(p2); 38 assertEquals(p.x, p2.x); 39 assertEquals(p.y, p2.y); 40 } 41 42 /** 43 * Testing that headers are identical after being serialized/deserialized. 44 */ 45 @SmallTest testMessageWithRequestIdHeader()46 public void testMessageWithRequestIdHeader() { 47 final int xValue = 1; 48 final int yValue = 2; 49 final int type = 6; 50 final long requestId = 0x1deadbeafL; 51 Point p = new Point(); 52 p.x = xValue; 53 p.y = yValue; 54 ServiceMessage message = p.serializeWithHeader(null, 55 new MessageHeader(type, MessageHeader.MESSAGE_EXPECTS_RESPONSE_FLAG, 0)); 56 message.setRequestId(requestId); 57 58 MessageHeader header = message.getHeader(); 59 assertTrue(header.validateHeader(type, MessageHeader.MESSAGE_EXPECTS_RESPONSE_FLAG)); 60 assertEquals(type, header.getType()); 61 assertEquals(MessageHeader.MESSAGE_EXPECTS_RESPONSE_FLAG, header.getFlags()); 62 assertEquals(requestId, header.getRequestId()); 63 64 Point p2 = Point.deserialize(message.getPayload()); 65 assertNotNull(p2); 66 assertEquals(p.x, p2.x); 67 assertEquals(p.y, p2.y); 68 } 69 } 70