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]); |
+ } |
} |
} |