aboutsummaryrefslogtreecommitdiff
path: root/java/src/test
diff options
context:
space:
mode:
authorFeng Xiao <xfxyjwf@gmail.com>2014-10-03 11:24:42 -0700
committerFeng Xiao <xfxyjwf@gmail.com>2014-10-03 11:24:42 -0700
commit56aa52d98657a9f093e85d2d2e15c87e5e50c967 (patch)
tree904d0aae3dc5fb2bd11328cb476b0ffe9543d2ba /java/src/test
parent84731a111f45e5d11d0d11fe4b53c1818d936df1 (diff)
parent725326f1eef7549349f6712322c8e073a9dd7fe9 (diff)
downloadprotobuf-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.java16
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));
+ }
}