| Index: third_party/protobuf/java/core/src/test/java/com/google/protobuf/DescriptorsTest.java
|
| diff --git a/third_party/protobuf/java/src/test/java/com/google/protobuf/DescriptorsTest.java b/third_party/protobuf/java/core/src/test/java/com/google/protobuf/DescriptorsTest.java
|
| similarity index 95%
|
| rename from third_party/protobuf/java/src/test/java/com/google/protobuf/DescriptorsTest.java
|
| rename to third_party/protobuf/java/core/src/test/java/com/google/protobuf/DescriptorsTest.java
|
| index 82ff34afe3ec0a1ef56e8613b56beeb65bb8577c..ef89b389c26ebaf0b7858c8f3a76bc3ee2ba9cf3 100644
|
| --- a/third_party/protobuf/java/src/test/java/com/google/protobuf/DescriptorsTest.java
|
| +++ b/third_party/protobuf/java/core/src/test/java/com/google/protobuf/DescriptorsTest.java
|
| @@ -59,7 +59,6 @@ import protobuf_unittest.UnittestProto.TestMultipleExtensionRanges;
|
| import protobuf_unittest.UnittestProto.TestRequired;
|
| import protobuf_unittest.UnittestProto.TestReservedFields;
|
| import protobuf_unittest.UnittestProto.TestService;
|
| -
|
| import junit.framework.TestCase;
|
|
|
| import java.util.Arrays;
|
| @@ -573,6 +572,42 @@ public class DescriptorsTest extends TestCase {
|
| }
|
| }
|
|
|
| + public void testUnknownFieldsDenied() throws Exception {
|
| + FileDescriptorProto fooProto = FileDescriptorProto.newBuilder()
|
| + .setName("foo.proto")
|
| + .addMessageType(DescriptorProto.newBuilder()
|
| + .setName("Foo")
|
| + .addField(FieldDescriptorProto.newBuilder()
|
| + .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
|
| + .setTypeName("Bar")
|
| + .setName("bar")
|
| + .setNumber(1)))
|
| + .build();
|
| +
|
| + try {
|
| + Descriptors.FileDescriptor.buildFrom(fooProto, new FileDescriptor[0]);
|
| + fail("DescriptorValidationException expected");
|
| + } catch (DescriptorValidationException e) {
|
| + assertTrue(e.getMessage().indexOf("Bar") != -1);
|
| + assertTrue(e.getMessage().indexOf("is not defined") != -1);
|
| + }
|
| + }
|
| +
|
| + public void testUnknownFieldsAllowed() throws Exception {
|
| + FileDescriptorProto fooProto = FileDescriptorProto.newBuilder()
|
| + .setName("foo.proto")
|
| + .addDependency("bar.proto")
|
| + .addMessageType(DescriptorProto.newBuilder()
|
| + .setName("Foo")
|
| + .addField(FieldDescriptorProto.newBuilder()
|
| + .setLabel(FieldDescriptorProto.Label.LABEL_OPTIONAL)
|
| + .setTypeName("Bar")
|
| + .setName("bar")
|
| + .setNumber(1)))
|
| + .build();
|
| + Descriptors.FileDescriptor.buildFrom(fooProto, new FileDescriptor[0], true);
|
| + }
|
| +
|
| public void testHiddenDependency() throws Exception {
|
| FileDescriptorProto barProto = FileDescriptorProto.newBuilder()
|
| .setName("bar.proto")
|
|
|