diff options
author | Max Cai <maxtroy@google.com> | 2014-01-10 13:26:51 +0000 |
---|---|---|
committer | Max Cai <maxtroy@google.com> | 2014-01-10 14:43:32 +0000 |
commit | f84177299a76759be1eb925093b059aef246fc0e (patch) | |
tree | 3f0a89be66567dc56bf422403517336544527776 /java | |
parent | e7741c064ee4cdc5fa41e6444ed45131672fed97 (diff) | |
download | external_protobuf-f84177299a76759be1eb925093b059aef246fc0e.zip external_protobuf-f84177299a76759be1eb925093b059aef246fc0e.tar.gz external_protobuf-f84177299a76759be1eb925093b059aef246fc0e.tar.bz2 |
Don't serialize required fields whose 'has' flags are unset.
Change-Id: Ibbe944fff83e44a8f2206e18ee9ec6f10661297a
Diffstat (limited to 'java')
-rw-r--r-- | java/src/test/java/com/google/protobuf/NanoTest.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/java/src/test/java/com/google/protobuf/NanoTest.java b/java/src/test/java/com/google/protobuf/NanoTest.java index 4934844..bb95a17 100644 --- a/java/src/test/java/com/google/protobuf/NanoTest.java +++ b/java/src/test/java/com/google/protobuf/NanoTest.java @@ -2202,6 +2202,7 @@ public class NanoTest extends TestCase { assertFalse(msg.hasDefaultFloatNan); assertFalse(msg.hasDefaultNestedEnum); assertFalse(msg.hasId); + assertFalse(msg.hasRequiredEnum); msg.optionalInt32 = 123; msg.optionalNestedMessage = new TestAllTypesNanoHas.NestedMessage(); msg.optionalNestedMessage.bb = 2; @@ -2211,7 +2212,7 @@ public class NanoTest extends TestCase { byte [] result = MessageNano.toByteArray(msg); int msgSerializedSize = msg.getSerializedSize(); //System.out.printf("mss=%d result.length=%d\n", msgSerializedSize, result.length); - assertTrue(msgSerializedSize == 13); + assertTrue(msgSerializedSize == 10); assertEquals(result.length, msgSerializedSize); // Has fields true upon parse. @@ -2237,6 +2238,8 @@ public class NanoTest extends TestCase { msg.hasDefaultBytes = true; msg.hasDefaultFloatNan = true; msg.hasDefaultNestedEnum = true; + msg.hasId = true; + msg.hasRequiredEnum = true; byte [] result = MessageNano.toByteArray(msg); int msgSerializedSize = msg.getSerializedSize(); @@ -2255,6 +2258,7 @@ public class NanoTest extends TestCase { assertTrue(newMsg.hasDefaultFloatNan); assertTrue(newMsg.hasDefaultNestedEnum); assertTrue(newMsg.hasId); + assertTrue(newMsg.hasRequiredEnum); assertEquals(0, newMsg.optionalInt32); assertEquals(0, newMsg.optionalString.length()); assertEquals(0, newMsg.optionalBytes.length); @@ -2266,6 +2270,7 @@ public class NanoTest extends TestCase { assertEquals(TestAllTypesNanoHas.BAR, newMsg.defaultNestedEnum); assertEquals(Float.NaN, newMsg.defaultFloatNan); assertEquals(0, newMsg.id); + assertEquals(TestAllTypesNanoHas.FOO, newMsg.requiredEnum); } public void testNanoWithAccessorsBasic() throws Exception { |