diff options
author | Feng Xiao <xfxyjwf@gmail.com> | 2014-10-03 11:24:42 -0700 |
---|---|---|
committer | Feng Xiao <xfxyjwf@gmail.com> | 2014-10-03 11:24:42 -0700 |
commit | 56aa52d98657a9f093e85d2d2e15c87e5e50c967 (patch) | |
tree | 904d0aae3dc5fb2bd11328cb476b0ffe9543d2ba /java/src/test | |
parent | 84731a111f45e5d11d0d11fe4b53c1818d936df1 (diff) | |
parent | 725326f1eef7549349f6712322c8e073a9dd7fe9 (diff) | |
download | protobuf-56aa52d98657a9f093e85d2d2e15c87e5e50c967.tar.gz protobuf-56aa52d98657a9f093e85d2d2e15c87e5e50c967.tar.bz2 protobuf-56aa52d98657a9f093e85d2d2e15c87e5e50c967.zip |
Merge pull request #38 from xfxyjwf/fix17
Fix a bug that causes DynamicMessage.setField() to not work for repeated enum fields.
Diffstat (limited to 'java/src/test')
-rw-r--r-- | java/src/test/java/com/google/protobuf/DynamicMessageTest.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/java/src/test/java/com/google/protobuf/DynamicMessageTest.java b/java/src/test/java/com/google/protobuf/DynamicMessageTest.java index 2f17f0b0..55144e7c 100644 --- a/java/src/test/java/com/google/protobuf/DynamicMessageTest.java +++ b/java/src/test/java/com/google/protobuf/DynamicMessageTest.java @@ -30,6 +30,7 @@ package com.google.protobuf; +import com.google.protobuf.Descriptors.EnumDescriptor; import com.google.protobuf.Descriptors.FieldDescriptor; import com.google.protobuf.Descriptors.OneofDescriptor; @@ -307,4 +308,19 @@ public class DynamicMessageTest extends TestCase { message = builder.build(); assertSame(null, message.getOneofFieldDescriptor(oneof)); } + + // Regression test for a bug that makes setField() not work for repeated + // enum fields. + public void testSettersForRepeatedEnumField() throws Exception { + DynamicMessage.Builder builder = + DynamicMessage.newBuilder(TestAllTypes.getDescriptor()); + FieldDescriptor repeatedEnumField = + TestAllTypes.getDescriptor().findFieldByName( + "repeated_nested_enum"); + EnumDescriptor enumDescriptor = TestAllTypes.NestedEnum.getDescriptor(); + builder.setField(repeatedEnumField, enumDescriptor.getValues()); + DynamicMessage message = builder.build(); + assertEquals( + enumDescriptor.getValues(), message.getField(repeatedEnumField)); + } } |