| Index: third_party/protobuf/java/compatibility_tests/v2.5.0/tests/src/main/java/com/google/protobuf/test/DescriptorsTest.java
|
| diff --git a/third_party/protobuf/java/core/src/test/java/com/google/protobuf/DescriptorsTest.java b/third_party/protobuf/java/compatibility_tests/v2.5.0/tests/src/main/java/com/google/protobuf/test/DescriptorsTest.java
|
| similarity index 79%
|
| copy from third_party/protobuf/java/core/src/test/java/com/google/protobuf/DescriptorsTest.java
|
| copy to third_party/protobuf/java/compatibility_tests/v2.5.0/tests/src/main/java/com/google/protobuf/test/DescriptorsTest.java
|
| index ef89b389c26ebaf0b7858c8f3a76bc3ee2ba9cf3..aabd7b4d7307bef398e218ed460c5e69e0e1f10f 100644
|
| --- a/third_party/protobuf/java/core/src/test/java/com/google/protobuf/DescriptorsTest.java
|
| +++ b/third_party/protobuf/java/compatibility_tests/v2.5.0/tests/src/main/java/com/google/protobuf/test/DescriptorsTest.java
|
| @@ -1,6 +1,6 @@
|
| // Protocol Buffers - Google's data interchange format
|
| // Copyright 2008 Google Inc. All rights reserved.
|
| -// https://developers.google.com/protocol-buffers/
|
| +// http://code.google.com/p/protobuf/
|
| //
|
| // Redistribution and use in source and binary forms, with or without
|
| // modification, are permitted provided that the following conditions are
|
| @@ -28,37 +28,37 @@
|
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| -package com.google.protobuf;
|
| +package com.google.protobuf.test;
|
| +import com.google.protobuf.*;
|
|
|
| import com.google.protobuf.DescriptorProtos.DescriptorProto;
|
| import com.google.protobuf.DescriptorProtos.EnumDescriptorProto;
|
| import com.google.protobuf.DescriptorProtos.EnumValueDescriptorProto;
|
| import com.google.protobuf.DescriptorProtos.FieldDescriptorProto;
|
| import com.google.protobuf.DescriptorProtos.FileDescriptorProto;
|
| -import com.google.protobuf.Descriptors.Descriptor;
|
| import com.google.protobuf.Descriptors.DescriptorValidationException;
|
| +import com.google.protobuf.Descriptors.FileDescriptor;
|
| +import com.google.protobuf.Descriptors.Descriptor;
|
| +import com.google.protobuf.Descriptors.FieldDescriptor;
|
| import com.google.protobuf.Descriptors.EnumDescriptor;
|
| import com.google.protobuf.Descriptors.EnumValueDescriptor;
|
| -import com.google.protobuf.Descriptors.FieldDescriptor;
|
| -import com.google.protobuf.Descriptors.FileDescriptor;
|
| -import com.google.protobuf.Descriptors.MethodDescriptor;
|
| -import com.google.protobuf.Descriptors.OneofDescriptor;
|
| import com.google.protobuf.Descriptors.ServiceDescriptor;
|
| +import com.google.protobuf.Descriptors.MethodDescriptor;
|
| +
|
| import com.google.protobuf.test.UnittestImport;
|
| import com.google.protobuf.test.UnittestImport.ImportEnum;
|
| -import com.google.protobuf.test.UnittestImport.ImportEnumForMap;
|
| -import protobuf_unittest.TestCustomOptions;
|
| -import protobuf_unittest.UnittestCustomOptions;
|
| +import com.google.protobuf.test.UnittestImport.ImportMessage;
|
| import protobuf_unittest.UnittestProto;
|
| import protobuf_unittest.UnittestProto.ForeignEnum;
|
| import protobuf_unittest.UnittestProto.ForeignMessage;
|
| -import protobuf_unittest.UnittestProto.TestAllExtensions;
|
| import protobuf_unittest.UnittestProto.TestAllTypes;
|
| +import protobuf_unittest.UnittestProto.TestAllExtensions;
|
| import protobuf_unittest.UnittestProto.TestExtremeDefaultValues;
|
| -import protobuf_unittest.UnittestProto.TestMultipleExtensionRanges;
|
| import protobuf_unittest.UnittestProto.TestRequired;
|
| -import protobuf_unittest.UnittestProto.TestReservedFields;
|
| import protobuf_unittest.UnittestProto.TestService;
|
| +import protobuf_unittest.UnittestCustomOptions;
|
| +
|
| +
|
| import junit.framework.TestCase;
|
|
|
| import java.util.Arrays;
|
| @@ -115,8 +115,7 @@ public class DescriptorsTest extends TestCase {
|
| assertEquals(enumType, file.findEnumTypeByName("ForeignEnum"));
|
| assertNull(file.findEnumTypeByName("NoSuchType"));
|
| assertNull(file.findEnumTypeByName("protobuf_unittest.ForeignEnum"));
|
| - assertEquals(Arrays.asList(ImportEnum.getDescriptor(),
|
| - ImportEnumForMap.getDescriptor()),
|
| + assertEquals(Arrays.asList(ImportEnum.getDescriptor()),
|
| UnittestImport.getDescriptor().getEnumTypes());
|
| for (int i = 0; i < file.getEnumTypes().size(); i++) {
|
| assertEquals(i, file.getEnumTypes().get(i).getIndex());
|
| @@ -273,15 +272,6 @@ public class DescriptorsTest extends TestCase {
|
| assertFalse(repeatedField.isRequired());
|
| assertTrue(repeatedField.isRepeated());
|
| }
|
| -
|
| - public void testFieldDescriptorJsonName() throws Exception {
|
| - FieldDescriptor requiredField = TestRequired.getDescriptor().findFieldByName("a");
|
| - FieldDescriptor optionalField = TestAllTypes.getDescriptor().findFieldByName("optional_int32");
|
| - FieldDescriptor repeatedField = TestAllTypes.getDescriptor().findFieldByName("repeated_int32");
|
| - assertEquals("a", requiredField.getJsonName());
|
| - assertEquals("optionalInt32", optionalField.getJsonName());
|
| - assertEquals("repeatedInt32", repeatedField.getJsonName());
|
| - }
|
|
|
| public void testFieldDescriptorDefault() throws Exception {
|
| Descriptor d = TestAllTypes.getDescriptor();
|
| @@ -293,7 +283,7 @@ public class DescriptorsTest extends TestCase {
|
| d = TestExtremeDefaultValues.getDescriptor();
|
| assertEquals(
|
| ByteString.copyFrom(
|
| - "\0\001\007\b\f\n\r\t\013\\\'\"\u00fe".getBytes(Internal.ISO_8859_1)),
|
| + "\0\001\007\b\f\n\r\t\013\\\'\"\u00fe".getBytes("ISO-8859-1")),
|
| d.findFieldByName("escaped_bytes").getDefaultValue());
|
| assertEquals(-1, d.findFieldByName("large_uint32").getDefaultValue());
|
| assertEquals(-1L, d.findFieldByName("large_uint64").getDefaultValue());
|
| @@ -319,7 +309,6 @@ public class DescriptorsTest extends TestCase {
|
| EnumValueDescriptor value = ForeignEnum.FOREIGN_FOO.getValueDescriptor();
|
| assertEquals(value, enumType.getValues().get(0));
|
| assertEquals("FOREIGN_FOO", value.getName());
|
| - assertEquals("FOREIGN_FOO", value.toString());
|
| assertEquals(4, value.getNumber());
|
| assertEquals(value, enumType.findValueByName("FOREIGN_FOO"));
|
| assertEquals(value, enumType.findValueByNumber(4));
|
| @@ -336,6 +325,7 @@ public class DescriptorsTest extends TestCase {
|
| assertEquals("protobuf_unittest.TestService", service.getFullName());
|
| assertEquals(UnittestProto.getDescriptor(), service.getFile());
|
|
|
| + assertEquals(2, service.getMethods().size());
|
|
|
| MethodDescriptor fooMethod = service.getMethods().get(0);
|
| assertEquals("Foo", fooMethod.getName());
|
| @@ -362,12 +352,8 @@ public class DescriptorsTest extends TestCase {
|
|
|
|
|
| public void testCustomOptions() throws Exception {
|
| - // Get the descriptor indirectly from a dependent proto class. This is to
|
| - // ensure that when a proto class is loaded, custom options defined in its
|
| - // dependencies are also properly initialized.
|
| Descriptor descriptor =
|
| - TestCustomOptions.TestMessageWithCustomOptionsContainer.getDescriptor()
|
| - .findFieldByName("field").getMessageType();
|
| + UnittestCustomOptions.TestMessageWithCustomOptions.getDescriptor();
|
|
|
| assertTrue(
|
| descriptor.getOptions().hasExtension(UnittestCustomOptions.messageOpt1));
|
| @@ -504,7 +490,7 @@ public class DescriptorsTest extends TestCase {
|
| .build();
|
| // translate and crosslink
|
| FileDescriptor file =
|
| - Descriptors.FileDescriptor.buildFrom(fileDescriptorProto,
|
| + Descriptors.FileDescriptor.buildFrom(fileDescriptorProto,
|
| new FileDescriptor[0]);
|
| // verify resulting descriptors
|
| assertNotNull(file);
|
| @@ -525,36 +511,10 @@ public class DescriptorsTest extends TestCase {
|
| }
|
| assertTrue(barFound);
|
| }
|
| -
|
| - public void testDependencyOrder() throws Exception {
|
| - FileDescriptorProto fooProto = FileDescriptorProto.newBuilder()
|
| - .setName("foo.proto").build();
|
| - FileDescriptorProto barProto = FileDescriptorProto.newBuilder()
|
| - .setName("bar.proto")
|
| - .addDependency("foo.proto")
|
| - .build();
|
| - FileDescriptorProto bazProto = FileDescriptorProto.newBuilder()
|
| - .setName("baz.proto")
|
| - .addDependency("foo.proto")
|
| - .addDependency("bar.proto")
|
| - .addPublicDependency(0)
|
| - .addPublicDependency(1)
|
| - .build();
|
| - FileDescriptor fooFile = Descriptors.FileDescriptor.buildFrom(fooProto,
|
| - new FileDescriptor[0]);
|
| - FileDescriptor barFile = Descriptors.FileDescriptor.buildFrom(barProto,
|
| - new FileDescriptor[] {fooFile});
|
| -
|
| - // Items in the FileDescriptor array can be in any order.
|
| - Descriptors.FileDescriptor.buildFrom(bazProto,
|
| - new FileDescriptor[] {fooFile, barFile});
|
| - Descriptors.FileDescriptor.buildFrom(bazProto,
|
| - new FileDescriptor[] {barFile, fooFile});
|
| - }
|
| -
|
| +
|
| public void testInvalidPublicDependency() throws Exception {
|
| FileDescriptorProto fooProto = FileDescriptorProto.newBuilder()
|
| - .setName("foo.proto").build();
|
| + .setName("foo.proto") .build();
|
| FileDescriptorProto barProto = FileDescriptorProto.newBuilder()
|
| .setName("boo.proto")
|
| .addDependency("foo.proto")
|
| @@ -572,42 +532,6 @@ 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")
|
| @@ -671,7 +595,7 @@ public class DescriptorsTest extends TestCase {
|
| Descriptors.FileDescriptor.buildFrom(
|
| fooProto, new FileDescriptor[] {forwardFile});
|
| }
|
| -
|
| +
|
| /**
|
| * Tests the translate/crosslink for an example with a more complex namespace
|
| * referencing.
|
| @@ -720,81 +644,6 @@ public class DescriptorsTest extends TestCase {
|
| assertTrue(field.getEnumType().getFile().getName().equals("bar.proto"));
|
| assertTrue(field.getEnumType().getFile().getPackage().equals(
|
| "a.b.c.d.bar.shared"));
|
| - }
|
| - }
|
| -
|
| - public void testOneofDescriptor() throws Exception {
|
| - Descriptor messageType = TestAllTypes.getDescriptor();
|
| - FieldDescriptor field =
|
| - messageType.findFieldByName("oneof_nested_message");
|
| - OneofDescriptor oneofDescriptor = field.getContainingOneof();
|
| - assertNotNull(oneofDescriptor);
|
| - assertSame(oneofDescriptor, messageType.getOneofs().get(0));
|
| - assertEquals("oneof_field", oneofDescriptor.getName());
|
| -
|
| - assertEquals(4, oneofDescriptor.getFieldCount());
|
| - assertSame(oneofDescriptor.getField(1), field);
|
| -
|
| - assertEquals(4, oneofDescriptor.getFields().size());
|
| - assertEquals(oneofDescriptor.getFields().get(1), field);
|
| - }
|
| -
|
| - public void testMessageDescriptorExtensions() throws Exception {
|
| - assertFalse(TestAllTypes.getDescriptor().isExtendable());
|
| - assertTrue(TestAllExtensions.getDescriptor().isExtendable());
|
| - assertTrue(TestMultipleExtensionRanges.getDescriptor().isExtendable());
|
| -
|
| - assertFalse(TestAllTypes.getDescriptor().isExtensionNumber(3));
|
| - assertTrue(TestAllExtensions.getDescriptor().isExtensionNumber(3));
|
| - assertTrue(TestMultipleExtensionRanges.getDescriptor().isExtensionNumber(42));
|
| - assertFalse(TestMultipleExtensionRanges.getDescriptor().isExtensionNumber(43));
|
| - assertFalse(TestMultipleExtensionRanges.getDescriptor().isExtensionNumber(4142));
|
| - assertTrue(TestMultipleExtensionRanges.getDescriptor().isExtensionNumber(4143));
|
| - }
|
| -
|
| - public void testReservedFields() {
|
| - Descriptor d = TestReservedFields.getDescriptor();
|
| - assertTrue(d.isReservedNumber(2));
|
| - assertFalse(d.isReservedNumber(8));
|
| - assertTrue(d.isReservedNumber(9));
|
| - assertTrue(d.isReservedNumber(10));
|
| - assertTrue(d.isReservedNumber(11));
|
| - assertFalse(d.isReservedNumber(12));
|
| - assertFalse(d.isReservedName("foo"));
|
| - assertTrue(d.isReservedName("bar"));
|
| - assertTrue(d.isReservedName("baz"));
|
| - }
|
| -
|
| - public void testToString() {
|
| - assertEquals("protobuf_unittest.TestAllTypes.optional_uint64",
|
| - UnittestProto.TestAllTypes.getDescriptor().findFieldByNumber(
|
| - UnittestProto.TestAllTypes.OPTIONAL_UINT64_FIELD_NUMBER).toString());
|
| - }
|
| -
|
| - public void testPackedEnumField() throws Exception {
|
| - FileDescriptorProto fileDescriptorProto = FileDescriptorProto.newBuilder()
|
| - .setName("foo.proto")
|
| - .addEnumType(EnumDescriptorProto.newBuilder()
|
| - .setName("Enum")
|
| - .addValue(EnumValueDescriptorProto.newBuilder()
|
| - .setName("FOO")
|
| - .setNumber(1)
|
| - .build())
|
| - .build())
|
| - .addMessageType(DescriptorProto.newBuilder()
|
| - .setName("Message")
|
| - .addField(FieldDescriptorProto.newBuilder()
|
| - .setName("foo")
|
| - .setTypeName("Enum")
|
| - .setNumber(1)
|
| - .setLabel(FieldDescriptorProto.Label.LABEL_REPEATED)
|
| - .setOptions(DescriptorProtos.FieldOptions.newBuilder()
|
| - .setPacked(true)
|
| - .build())
|
| - .build())
|
| - .build())
|
| - .build();
|
| - Descriptors.FileDescriptor.buildFrom(
|
| - fileDescriptorProto, new FileDescriptor[0]);
|
| + }
|
| }
|
| }
|
|
|