Index: mojo/android/javatests/src/org/chromium/mojo/bindings/test/mojom/sample/InterfaceInternalTest.java |
diff --git a/mojo/android/javatests/src/org/chromium/mojo/bindings/test/mojom/sample/InterfaceInternalTest.java b/mojo/android/javatests/src/org/chromium/mojo/bindings/test/mojom/sample/InterfaceInternalTest.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a45d3789364796032ff01a979a3a76837be37dc6 |
--- /dev/null |
+++ b/mojo/android/javatests/src/org/chromium/mojo/bindings/test/mojom/sample/InterfaceInternalTest.java |
@@ -0,0 +1,48 @@ |
+// 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.test.mojom.sample; |
+ |
+import android.test.InstrumentationTestCase; |
+import android.test.suitebuilder.annotation.SmallTest; |
+ |
+import org.chromium.mojo.bindings.Message; |
+import org.chromium.mojo.bindings.MessageHeader; |
+import org.chromium.mojo.bindings.test.mojom.sample.ProviderInternal.ProviderEchoStringsParams; |
+ |
+/** |
+ * Testing internal classes of interfaces. |
+ */ |
+public class InterfaceInternalTest extends InstrumentationTestCase { |
+ |
+ /** |
+ * Testing that a message is identical to itself after being serialized then deserialized. |
+ */ |
+ @SmallTest |
+ public void testProviderEchoStringsParams() { |
+ final String aString = "Hello world"; |
+ final String bString = "bye world"; |
+ final int type = 6; |
+ final long requestId = 0x1deadbeafL; |
+ ProviderEchoStringsParams p = new ProviderEchoStringsParams(); |
+ p.a = aString; |
+ p.b = bString; |
+ assertEquals(aString, p.a); |
+ assertEquals(bString, p.b); |
+ Message serialization = p.serializeWithHeader(null, |
+ new MessageHeader(type, MessageHeader.MESSAGE_EXPECTS_RESPONSE_FLAG, 0)); |
+ MessageHeader.setRequestId(serialization, requestId); |
+ MessageHeader header = new MessageHeader(serialization); |
+ 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()); |
+ ProviderEchoStringsParams p2 = ProviderEchoStringsParams.deserialize( |
+ serialization.truncateHead(header.getSize())); |
+ assertNotNull(p2); |
+ assertEquals(p.a, p2.a); |
+ assertEquals(p.b, p2.b); |
+ } |
+ |
+} |