|
|
@ -105,6 +105,12 @@ public class NanoTest extends TestCase { |
|
|
|
assertEquals(456, newMsg.d); |
|
|
|
assertEquals(456, newMsg.d); |
|
|
|
assertEquals(2, msg.nestedMsg.bb); |
|
|
|
assertEquals(2, msg.nestedMsg.bb); |
|
|
|
assertEquals(SimpleMessageNano.BAR, msg.defaultNestedEnum); |
|
|
|
assertEquals(SimpleMessageNano.BAR, msg.defaultNestedEnum); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
msg.nestedMsg = null; |
|
|
|
|
|
|
|
assertTrue(msgSerializedSize != msg.getSerializedSize()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
msg.clear(); |
|
|
|
|
|
|
|
assertEquals(0, msg.getSerializedSize()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void testRecursiveMessageNano() throws Exception { |
|
|
|
public void testRecursiveMessageNano() throws Exception { |
|
|
@ -143,6 +149,12 @@ public class NanoTest extends TestCase { |
|
|
|
assertEquals(3, newMsg.repeatedRecursiveMessageNano[0].id); |
|
|
|
assertEquals(3, newMsg.repeatedRecursiveMessageNano[0].id); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void testMessageNoFields() { |
|
|
|
|
|
|
|
SingleMessageNano msg = new SingleMessageNano(); |
|
|
|
|
|
|
|
assertEquals(0, msg.getSerializedSize()); |
|
|
|
|
|
|
|
assertEquals(0, MessageNano.toByteArray(msg).length); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void testNanoRequiredInt32() throws Exception { |
|
|
|
public void testNanoRequiredInt32() throws Exception { |
|
|
|
TestAllTypesNano msg = new TestAllTypesNano(); |
|
|
|
TestAllTypesNano msg = new TestAllTypesNano(); |
|
|
|
msg.id = 123; |
|
|
|
msg.id = 123; |
|
|
@ -2898,6 +2910,20 @@ public class NanoTest extends TestCase { |
|
|
|
assertTrue(Arrays.equals(enums, message.getExtension(RepeatedExtensions.repeatedEnum))); |
|
|
|
assertTrue(Arrays.equals(enums, message.getExtension(RepeatedExtensions.repeatedEnum))); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void testNullExtensions() throws Exception { |
|
|
|
|
|
|
|
// Check that clearing the extension on an empty message is a no-op.
|
|
|
|
|
|
|
|
Extensions.ExtendableMessage message = new Extensions.ExtendableMessage(); |
|
|
|
|
|
|
|
message.setExtension(SingularExtensions.someMessage, null); |
|
|
|
|
|
|
|
assertEquals(0, MessageNano.toByteArray(message).length); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check that the message is empty after setting and clearing an extension.
|
|
|
|
|
|
|
|
AnotherMessage another = new AnotherMessage(); |
|
|
|
|
|
|
|
message.setExtension(SingularExtensions.someMessage, another); |
|
|
|
|
|
|
|
assertTrue(MessageNano.toByteArray(message).length > 0); |
|
|
|
|
|
|
|
message.setExtension(SingularExtensions.someMessage, null); |
|
|
|
|
|
|
|
assertEquals(0, MessageNano.toByteArray(message).length); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void testUnknownFields() throws Exception { |
|
|
|
public void testUnknownFields() throws Exception { |
|
|
|
// Check that we roundtrip (serialize and deserialize) unrecognized fields.
|
|
|
|
// Check that we roundtrip (serialize and deserialize) unrecognized fields.
|
|
|
|
AnotherMessage message = new AnotherMessage(); |
|
|
|
AnotherMessage message = new AnotherMessage(); |
|
|
|