Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: third_party/protobuf/python/google/protobuf/internal/descriptor_test.py

Issue 2590803003: Revert "third_party/protobuf: Update to HEAD (83d681ee2c)" (Closed)
Patch Set: Created 3 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #! /usr/bin/env python 1 #! /usr/bin/env python
2 # 2 #
3 # Protocol Buffers - Google's data interchange format 3 # Protocol Buffers - Google's data interchange format
4 # Copyright 2008 Google Inc. All rights reserved. 4 # Copyright 2008 Google Inc. All rights reserved.
5 # https://developers.google.com/protocol-buffers/ 5 # https://developers.google.com/protocol-buffers/
6 # 6 #
7 # Redistribution and use in source and binary forms, with or without 7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions are 8 # modification, are permitted provided that the following conditions are
9 # met: 9 # met:
10 # 10 #
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 name='bb', 70 name='bb',
71 number=1, 71 number=1,
72 type=descriptor_pb2.FieldDescriptorProto.TYPE_INT32, 72 type=descriptor_pb2.FieldDescriptorProto.TYPE_INT32,
73 label=descriptor_pb2.FieldDescriptorProto.LABEL_OPTIONAL) 73 label=descriptor_pb2.FieldDescriptorProto.LABEL_OPTIONAL)
74 enum_proto = message_proto.enum_type.add( 74 enum_proto = message_proto.enum_type.add(
75 name='ForeignEnum') 75 name='ForeignEnum')
76 enum_proto.value.add(name='FOREIGN_FOO', number=4) 76 enum_proto.value.add(name='FOREIGN_FOO', number=4)
77 enum_proto.value.add(name='FOREIGN_BAR', number=5) 77 enum_proto.value.add(name='FOREIGN_BAR', number=5)
78 enum_proto.value.add(name='FOREIGN_BAZ', number=6) 78 enum_proto.value.add(name='FOREIGN_BAZ', number=6)
79 79
80 file_proto.message_type.add(name='ResponseMessage')
81 service_proto = file_proto.service.add(
82 name='Service')
83 method_proto = service_proto.method.add(
84 name='CallMethod',
85 input_type='.protobuf_unittest.NestedMessage',
86 output_type='.protobuf_unittest.ResponseMessage')
87
88 # Note: Calling DescriptorPool.Add() multiple times with the same file only
89 # works if the input is canonical; in particular, all type names must be
90 # fully qualified.
91 self.pool = self.GetDescriptorPool() 80 self.pool = self.GetDescriptorPool()
92 self.pool.Add(file_proto) 81 self.pool.Add(file_proto)
93 self.my_file = self.pool.FindFileByName(file_proto.name) 82 self.my_file = self.pool.FindFileByName(file_proto.name)
94 self.my_message = self.my_file.message_types_by_name[message_proto.name] 83 self.my_message = self.my_file.message_types_by_name[message_proto.name]
95 self.my_enum = self.my_message.enum_types_by_name[enum_proto.name] 84 self.my_enum = self.my_message.enum_types_by_name[enum_proto.name]
96 self.my_service = self.my_file.services_by_name[service_proto.name] 85
97 self.my_method = self.my_service.methods_by_name[method_proto.name] 86 self.my_method = descriptor.MethodDescriptor(
87 name='Bar',
88 full_name='protobuf_unittest.TestService.Bar',
89 index=0,
90 containing_service=None,
91 input_type=None,
92 output_type=None)
93 self.my_service = descriptor.ServiceDescriptor(
94 name='TestServiceWithOptions',
95 full_name='protobuf_unittest.TestServiceWithOptions',
96 file=self.my_file,
97 index=0,
98 methods=[
99 self.my_method
100 ])
98 101
99 def GetDescriptorPool(self): 102 def GetDescriptorPool(self):
100 return symbol_database.Default().pool 103 return symbol_database.Default().pool
101 104
102 def testEnumValueName(self): 105 def testEnumValueName(self):
103 self.assertEqual(self.my_message.EnumValueName('ForeignEnum', 4), 106 self.assertEqual(self.my_message.EnumValueName('ForeignEnum', 4),
104 'FOREIGN_FOO') 107 'FOREIGN_FOO')
105 108
106 self.assertEqual( 109 self.assertEqual(
107 self.my_message.enum_types_by_name[ 110 self.my_message.enum_types_by_name[
(...skipping 21 matching lines...) Expand all
129 descriptor_pb2.FieldOptions()) 132 descriptor_pb2.FieldOptions())
130 self.assertEqual(self.my_method.GetOptions(), 133 self.assertEqual(self.my_method.GetOptions(),
131 descriptor_pb2.MethodOptions()) 134 descriptor_pb2.MethodOptions())
132 self.assertEqual(self.my_service.GetOptions(), 135 self.assertEqual(self.my_service.GetOptions(),
133 descriptor_pb2.ServiceOptions()) 136 descriptor_pb2.ServiceOptions())
134 137
135 def testSimpleCustomOptions(self): 138 def testSimpleCustomOptions(self):
136 file_descriptor = unittest_custom_options_pb2.DESCRIPTOR 139 file_descriptor = unittest_custom_options_pb2.DESCRIPTOR
137 message_descriptor =\ 140 message_descriptor =\
138 unittest_custom_options_pb2.TestMessageWithCustomOptions.DESCRIPTOR 141 unittest_custom_options_pb2.TestMessageWithCustomOptions.DESCRIPTOR
139 field_descriptor = message_descriptor.fields_by_name['field1'] 142 field_descriptor = message_descriptor.fields_by_name["field1"]
140 oneof_descriptor = message_descriptor.oneofs_by_name['AnOneof'] 143 enum_descriptor = message_descriptor.enum_types_by_name["AnEnum"]
141 enum_descriptor = message_descriptor.enum_types_by_name['AnEnum']
142 enum_value_descriptor =\ 144 enum_value_descriptor =\
143 message_descriptor.enum_values_by_name['ANENUM_VAL2'] 145 message_descriptor.enum_values_by_name["ANENUM_VAL2"]
144 service_descriptor =\ 146 service_descriptor =\
145 unittest_custom_options_pb2.TestServiceWithCustomOptions.DESCRIPTOR 147 unittest_custom_options_pb2.TestServiceWithCustomOptions.DESCRIPTOR
146 method_descriptor = service_descriptor.FindMethodByName('Foo') 148 method_descriptor = service_descriptor.FindMethodByName("Foo")
147 149
148 file_options = file_descriptor.GetOptions() 150 file_options = file_descriptor.GetOptions()
149 file_opt1 = unittest_custom_options_pb2.file_opt1 151 file_opt1 = unittest_custom_options_pb2.file_opt1
150 self.assertEqual(9876543210, file_options.Extensions[file_opt1]) 152 self.assertEqual(9876543210, file_options.Extensions[file_opt1])
151 message_options = message_descriptor.GetOptions() 153 message_options = message_descriptor.GetOptions()
152 message_opt1 = unittest_custom_options_pb2.message_opt1 154 message_opt1 = unittest_custom_options_pb2.message_opt1
153 self.assertEqual(-56, message_options.Extensions[message_opt1]) 155 self.assertEqual(-56, message_options.Extensions[message_opt1])
154 field_options = field_descriptor.GetOptions() 156 field_options = field_descriptor.GetOptions()
155 field_opt1 = unittest_custom_options_pb2.field_opt1 157 field_opt1 = unittest_custom_options_pb2.field_opt1
156 self.assertEqual(8765432109, field_options.Extensions[field_opt1]) 158 self.assertEqual(8765432109, field_options.Extensions[field_opt1])
157 field_opt2 = unittest_custom_options_pb2.field_opt2 159 field_opt2 = unittest_custom_options_pb2.field_opt2
158 self.assertEqual(42, field_options.Extensions[field_opt2]) 160 self.assertEqual(42, field_options.Extensions[field_opt2])
159 oneof_options = oneof_descriptor.GetOptions()
160 oneof_opt1 = unittest_custom_options_pb2.oneof_opt1
161 self.assertEqual(-99, oneof_options.Extensions[oneof_opt1])
162 enum_options = enum_descriptor.GetOptions() 161 enum_options = enum_descriptor.GetOptions()
163 enum_opt1 = unittest_custom_options_pb2.enum_opt1 162 enum_opt1 = unittest_custom_options_pb2.enum_opt1
164 self.assertEqual(-789, enum_options.Extensions[enum_opt1]) 163 self.assertEqual(-789, enum_options.Extensions[enum_opt1])
165 enum_value_options = enum_value_descriptor.GetOptions() 164 enum_value_options = enum_value_descriptor.GetOptions()
166 enum_value_opt1 = unittest_custom_options_pb2.enum_value_opt1 165 enum_value_opt1 = unittest_custom_options_pb2.enum_value_opt1
167 self.assertEqual(123, enum_value_options.Extensions[enum_value_opt1]) 166 self.assertEqual(123, enum_value_options.Extensions[enum_value_opt1])
168 167
169 service_options = service_descriptor.GetOptions() 168 service_options = service_descriptor.GetOptions()
170 service_opt1 = unittest_custom_options_pb2.service_opt1 169 service_opt1 = unittest_custom_options_pb2.service_opt1
171 self.assertEqual(-9876543210, service_options.Extensions[service_opt1]) 170 self.assertEqual(-9876543210, service_options.Extensions[service_opt1])
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after
759 self.assertEqual(result.fields[0].cpp_type, 758 self.assertEqual(result.fields[0].cpp_type,
760 descriptor.FieldDescriptor.CPPTYPE_UINT64) 759 descriptor.FieldDescriptor.CPPTYPE_UINT64)
761 self.assertEqual(result.fields[1].cpp_type, 760 self.assertEqual(result.fields[1].cpp_type,
762 descriptor.FieldDescriptor.CPPTYPE_MESSAGE) 761 descriptor.FieldDescriptor.CPPTYPE_MESSAGE)
763 self.assertEqual(result.fields[1].message_type.containing_type, 762 self.assertEqual(result.fields[1].message_type.containing_type,
764 result) 763 result)
765 self.assertEqual(result.nested_types[0].fields[0].full_name, 764 self.assertEqual(result.nested_types[0].fields[0].full_name,
766 'Foo2.Sub.bar_field') 765 'Foo2.Sub.bar_field')
767 self.assertEqual(result.nested_types[0].fields[0].enum_type, 766 self.assertEqual(result.nested_types[0].fields[0].enum_type,
768 result.nested_types[0].enum_types[0]) 767 result.nested_types[0].enum_types[0])
769 self.assertFalse(result.has_options)
770 self.assertFalse(result.fields[0].has_options)
771 768
772 def testMakeDescriptorWithUnsignedIntField(self): 769 def testMakeDescriptorWithUnsignedIntField(self):
773 file_descriptor_proto = descriptor_pb2.FileDescriptorProto() 770 file_descriptor_proto = descriptor_pb2.FileDescriptorProto()
774 file_descriptor_proto.name = 'Foo' 771 file_descriptor_proto.name = 'Foo'
775 message_type = file_descriptor_proto.message_type.add() 772 message_type = file_descriptor_proto.message_type.add()
776 message_type.name = file_descriptor_proto.name 773 message_type.name = file_descriptor_proto.name
777 enum_type = message_type.enum_type.add() 774 enum_type = message_type.enum_type.add()
778 enum_type.name = 'FOO' 775 enum_type.name = 'FOO'
779 enum_type_val = enum_type.value.add() 776 enum_type_val = enum_type.value.add()
780 enum_type_val.name = 'BAR' 777 enum_type_val.name = 'BAR'
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
813 camelcase_names = ['fooFoo', 'fooBar', 'fooBaz', 'fooFoo', 'foobar'] 810 camelcase_names = ['fooFoo', 'fooBar', 'fooBaz', 'fooFoo', 'foobar']
814 for index in range(len(names)): 811 for index in range(len(names)):
815 field = descriptor_proto.field.add() 812 field = descriptor_proto.field.add()
816 field.number = index + 1 813 field.number = index + 1
817 field.name = names[index] 814 field.name = names[index]
818 result = descriptor.MakeDescriptor(descriptor_proto) 815 result = descriptor.MakeDescriptor(descriptor_proto)
819 for index in range(len(camelcase_names)): 816 for index in range(len(camelcase_names)):
820 self.assertEqual(result.fields[index].camelcase_name, 817 self.assertEqual(result.fields[index].camelcase_name,
821 camelcase_names[index]) 818 camelcase_names[index])
822 819
823 def testJsonName(self):
824 descriptor_proto = descriptor_pb2.DescriptorProto()
825 descriptor_proto.name = 'TestJsonName'
826 names = ['field_name', 'fieldName', 'FieldName',
827 '_field_name', 'FIELD_NAME', 'json_name']
828 json_names = ['fieldName', 'fieldName', 'FieldName',
829 'FieldName', 'FIELDNAME', '@type']
830 for index in range(len(names)):
831 field = descriptor_proto.field.add()
832 field.number = index + 1
833 field.name = names[index]
834 field.json_name = '@type'
835 result = descriptor.MakeDescriptor(descriptor_proto)
836 for index in range(len(json_names)):
837 self.assertEqual(result.fields[index].json_name,
838 json_names[index])
839
840 820
841 if __name__ == '__main__': 821 if __name__ == '__main__':
842 unittest.main() 822 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698