• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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