diff options
author | Feng Xiao <xfxyjwf@gmail.com> | 2014-11-14 11:50:31 -0800 |
---|---|---|
committer | Feng Xiao <xfxyjwf@gmail.com> | 2014-11-14 11:50:31 -0800 |
commit | f157a5651c79a7a36e242af216a5d5b383ba8af2 (patch) | |
tree | 368bb0ca0e89ab7514302e4df00435a4ef461a28 /java/src/test | |
parent | faf581d20866ad5e586b3e515f6c547d2dcec2c1 (diff) | |
download | protobuf-f157a5651c79a7a36e242af216a5d5b383ba8af2.tar.gz protobuf-f157a5651c79a7a36e242af216a5d5b383ba8af2.tar.bz2 protobuf-f157a5651c79a7a36e242af216a5d5b383ba8af2.zip |
Down-integrate from internal code base (C++ maps support).
Diffstat (limited to 'java/src/test')
3 files changed, 24 insertions, 0 deletions
diff --git a/java/src/test/java/com/google/protobuf/MapForProto2Test.java b/java/src/test/java/com/google/protobuf/MapForProto2Test.java index d78c0d94..33ba7150 100644 --- a/java/src/test/java/com/google/protobuf/MapForProto2Test.java +++ b/java/src/test/java/com/google/protobuf/MapForProto2Test.java @@ -33,6 +33,7 @@ package com.google.protobuf; import com.google.protobuf.Descriptors.FieldDescriptor; import map_test.MapForProto2TestProto.TestMap; import map_test.MapForProto2TestProto.TestMap.MessageValue; +import map_test.MapForProto2TestProto.TestMap.MessageWithRequiredFields; import map_test.MapForProto2TestProto.TestUnknownEnumValue; import junit.framework.TestCase; @@ -485,4 +486,17 @@ public class MapForProto2Test extends TestCase { assertEquals(54321, messageWithUnknownEnums.getInt32ToInt32Field().get(2).intValue()); } + + public void testRequiredMessage() throws Exception { + TestMap.Builder builder = TestMap.newBuilder(); + builder.getMutableRequiredMessageMap().put(0, + MessageWithRequiredFields.newBuilder().buildPartial()); + TestMap message = builder.buildPartial(); + assertFalse(message.isInitialized()); + + builder.getMutableRequiredMessageMap().put(0, + MessageWithRequiredFields.newBuilder().setValue(1).build()); + message = builder.build(); + assertTrue(message.isInitialized()); + } } diff --git a/java/src/test/java/com/google/protobuf/map_for_proto2_lite_test.proto b/java/src/test/java/com/google/protobuf/map_for_proto2_lite_test.proto index 4f23a4a8..a1fe856c 100644 --- a/java/src/test/java/com/google/protobuf/map_for_proto2_lite_test.proto +++ b/java/src/test/java/com/google/protobuf/map_for_proto2_lite_test.proto @@ -51,6 +51,11 @@ message TestMap { map<int32, EnumValue> int32_to_enum_field = 4; map<int32, MessageValue> int32_to_message_field = 5; map<string, int32> string_to_int32_field = 6; + + message MessageWithRequiredFields { + required int32 value = 1; + } + map<int32, MessageWithRequiredFields> required_message_map = 11; } message TestUnknownEnumValue { diff --git a/java/src/test/java/com/google/protobuf/map_for_proto2_test.proto b/java/src/test/java/com/google/protobuf/map_for_proto2_test.proto index 36dfbd10..a0ec7ac5 100644 --- a/java/src/test/java/com/google/protobuf/map_for_proto2_test.proto +++ b/java/src/test/java/com/google/protobuf/map_for_proto2_test.proto @@ -53,6 +53,11 @@ message TestMap { map<int32, EnumValue> int32_to_enum_field = 4; map<int32, MessageValue> int32_to_message_field = 5; map<string, int32> string_to_int32_field = 6; + + message MessageWithRequiredFields { + required int32 value = 1; + } + map<int32, MessageWithRequiredFields> required_message_map = 11; } message TestUnknownEnumValue { |