Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / mojo / android / javatests / src / org / chromium / mojo / bindings / MessageHeaderTest.java
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
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
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 }