protoc 2.6.1.1 → 2.6.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (479) hide show
  1. checksums.yaml +4 -4
  2. data/ext/protoc/Makefile.in +10 -13
  3. data/ext/protoc/extconf.rb +0 -1
  4. data/ext/protoc/protobuf/CHANGES.txt +593 -0
  5. data/ext/protoc/protobuf/CONTRIBUTORS.txt +93 -0
  6. data/ext/protoc/protobuf/INSTALL.txt +237 -0
  7. data/ext/protoc/protobuf/LICENSE +33 -0
  8. data/ext/protoc/protobuf/Makefile.am +267 -0
  9. data/ext/protoc/protobuf/README.md +167 -0
  10. data/ext/protoc/protobuf/autogen.sh +41 -0
  11. data/ext/protoc/protobuf/benchmarks/ProtoBench.java +203 -0
  12. data/ext/protoc/protobuf/benchmarks/google_message1.dat +0 -0
  13. data/ext/protoc/protobuf/benchmarks/google_message2.dat +0 -0
  14. data/ext/protoc/protobuf/benchmarks/google_size.proto +136 -0
  15. data/ext/protoc/protobuf/benchmarks/google_speed.proto +136 -0
  16. data/ext/protoc/protobuf/benchmarks/readme.txt +50 -0
  17. data/ext/protoc/protobuf/configure.ac +159 -0
  18. data/ext/protoc/protobuf/editors/README.txt +5 -0
  19. data/ext/protoc/protobuf/editors/proto.vim +105 -0
  20. data/ext/protoc/protobuf/editors/protobuf-mode.el +220 -0
  21. data/ext/protoc/protobuf/examples/AddPerson.java +95 -0
  22. data/ext/protoc/protobuf/examples/ListPeople.java +50 -0
  23. data/ext/protoc/protobuf/examples/Makefile +58 -0
  24. data/ext/protoc/protobuf/examples/README.txt +29 -0
  25. data/ext/protoc/protobuf/examples/add_person.cc +95 -0
  26. data/ext/protoc/protobuf/examples/add_person.py +58 -0
  27. data/ext/protoc/protobuf/examples/addressbook.proto +30 -0
  28. data/ext/protoc/protobuf/examples/list_people.cc +68 -0
  29. data/ext/protoc/protobuf/examples/list_people.py +38 -0
  30. data/ext/protoc/protobuf/generate_descriptor_proto.sh +33 -0
  31. data/ext/protoc/protobuf/java/README.txt +96 -0
  32. data/ext/protoc/protobuf/java/pom.xml +217 -0
  33. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/AbstractMessage.java +466 -0
  34. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/AbstractMessageLite.java +355 -0
  35. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/AbstractParser.java +253 -0
  36. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/BlockingRpcChannel.java +51 -0
  37. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/BlockingService.java +64 -0
  38. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/BoundedByteString.java +163 -0
  39. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ByteString.java +1022 -0
  40. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/CodedInputStream.java +1311 -0
  41. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/CodedOutputStream.java +1297 -0
  42. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Descriptors.java +2238 -0
  43. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/DynamicMessage.java +622 -0
  44. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Extension.java +96 -0
  45. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ExtensionRegistry.java +392 -0
  46. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ExtensionRegistryLite.java +185 -0
  47. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/FieldSet.java +907 -0
  48. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/GeneratedMessage.java +2213 -0
  49. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/GeneratedMessageLite.java +949 -0
  50. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Internal.java +391 -0
  51. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/InvalidProtocolBufferException.java +122 -0
  52. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LazyField.java +154 -0
  53. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LazyFieldLite.java +176 -0
  54. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LazyStringArrayList.java +367 -0
  55. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LazyStringList.java +163 -0
  56. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LiteralByteString.java +362 -0
  57. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Message.java +244 -0
  58. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/MessageLite.java +320 -0
  59. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/MessageLiteOrBuilder.java +60 -0
  60. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/MessageOrBuilder.java +143 -0
  61. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/MessageReflection.java +931 -0
  62. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Parser.java +261 -0
  63. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ProtocolMessageEnum.java +58 -0
  64. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ProtocolStringList.java +48 -0
  65. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RepeatedFieldBuilder.java +696 -0
  66. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RopeByteString.java +957 -0
  67. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RpcCallback.java +47 -0
  68. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RpcChannel.java +71 -0
  69. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RpcController.java +118 -0
  70. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RpcUtil.java +134 -0
  71. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Service.java +117 -0
  72. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ServiceException.java +52 -0
  73. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/SingleFieldBuilder.java +241 -0
  74. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/SmallSortedMap.java +618 -0
  75. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/TextFormat.java +1984 -0
  76. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/UninitializedMessageException.java +99 -0
  77. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/UnknownFieldSet.java +995 -0
  78. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/UnmodifiableLazyStringList.java +205 -0
  79. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Utf8.java +349 -0
  80. data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/WireFormat.java +163 -0
  81. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/AbstractMessageTest.java +527 -0
  82. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/BoundedByteStringTest.java +68 -0
  83. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/ByteStringTest.java +759 -0
  84. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/CheckUtf8Test.java +141 -0
  85. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/CodedInputStreamTest.java +769 -0
  86. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/CodedOutputStreamTest.java +401 -0
  87. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/DeprecatedFieldTest.java +80 -0
  88. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/DescriptorsTest.java +735 -0
  89. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/DynamicMessageTest.java +326 -0
  90. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/ForceFieldBuildersPreRun.java +48 -0
  91. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/GeneratedMessageTest.java +1515 -0
  92. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/IsValidUtf8Test.java +180 -0
  93. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/IsValidUtf8TestUtil.java +421 -0
  94. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyFieldLiteTest.java +134 -0
  95. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyFieldTest.java +121 -0
  96. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyMessageLiteTest.java +319 -0
  97. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyStringArrayListTest.java +174 -0
  98. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyStringEndToEndTest.java +143 -0
  99. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LiteEqualsAndHashTest.java +85 -0
  100. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LiteTest.java +148 -0
  101. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LiteralByteStringTest.java +396 -0
  102. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/MessageTest.java +353 -0
  103. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/NestedBuildersTest.java +185 -0
  104. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/ParserTest.java +381 -0
  105. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/RepeatedFieldBuilderTest.java +190 -0
  106. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/RopeByteStringSubstringTest.java +97 -0
  107. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/RopeByteStringTest.java +115 -0
  108. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/ServiceTest.java +320 -0
  109. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/SingleFieldBuilderTest.java +155 -0
  110. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/SmallSortedMapTest.java +420 -0
  111. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/TestBadIdentifiers.java +96 -0
  112. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/TestUtil.java +4124 -0
  113. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/TextFormatTest.java +994 -0
  114. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/UnknownFieldSetTest.java +653 -0
  115. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/UnmodifiableLazyStringListTest.java +227 -0
  116. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/WireFormatTest.java +606 -0
  117. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/lazy_fields_lite.proto +61 -0
  118. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/lite_equals_and_hash.proto +55 -0
  119. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/multiple_files_test.proto +77 -0
  120. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/nested_builders_test.proto +53 -0
  121. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/nested_extension.proto +46 -0
  122. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/nested_extension_lite.proto +48 -0
  123. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/non_nested_extension.proto +49 -0
  124. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/non_nested_extension_lite.proto +50 -0
  125. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/outer_class_name_test.proto +38 -0
  126. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/outer_class_name_test2.proto +42 -0
  127. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/outer_class_name_test3.proto +43 -0
  128. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_bad_identifiers.proto +157 -0
  129. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_check_utf8.proto +50 -0
  130. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_check_utf8_size.proto +51 -0
  131. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_custom_options.proto +43 -0
  132. data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_extra_interfaces.proto +60 -0
  133. data/ext/protoc/protobuf/m4/ac_system_extensions.m4 +37 -0
  134. data/ext/protoc/protobuf/m4/acx_check_suncc.m4 +75 -0
  135. data/ext/protoc/protobuf/m4/acx_pthread.m4 +397 -0
  136. data/ext/protoc/protobuf/m4/stl_hash.m4 +72 -0
  137. data/ext/protoc/protobuf/more_tests/Makefile +41 -0
  138. data/ext/protoc/protobuf/post_process_dist.sh +60 -0
  139. data/ext/protoc/protobuf/protobuf-lite.pc.in +13 -0
  140. data/ext/protoc/protobuf/protobuf.pc.in +14 -0
  141. data/ext/protoc/protobuf/python/README.txt +105 -0
  142. data/ext/protoc/protobuf/python/ez_setup.py +284 -0
  143. data/ext/protoc/protobuf/python/google/__init__.py +1 -0
  144. data/ext/protoc/protobuf/python/google/protobuf/__init__.py +0 -0
  145. data/ext/protoc/protobuf/python/google/protobuf/descriptor.py +849 -0
  146. data/ext/protoc/protobuf/python/google/protobuf/descriptor_database.py +137 -0
  147. data/ext/protoc/protobuf/python/google/protobuf/descriptor_pool.py +643 -0
  148. data/ext/protoc/protobuf/python/google/protobuf/internal/__init__.py +0 -0
  149. data/ext/protoc/protobuf/python/google/protobuf/internal/api_implementation.cc +139 -0
  150. data/ext/protoc/protobuf/python/google/protobuf/internal/api_implementation.py +89 -0
  151. data/ext/protoc/protobuf/python/google/protobuf/internal/api_implementation_default_test.py +63 -0
  152. data/ext/protoc/protobuf/python/google/protobuf/internal/containers.py +269 -0
  153. data/ext/protoc/protobuf/python/google/protobuf/internal/cpp_message.py +663 -0
  154. data/ext/protoc/protobuf/python/google/protobuf/internal/decoder.py +831 -0
  155. data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_database_test.py +63 -0
  156. data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_pool_test.py +564 -0
  157. data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_pool_test1.proto +94 -0
  158. data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_pool_test2.proto +70 -0
  159. data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_python_test.py +54 -0
  160. data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_test.py +669 -0
  161. data/ext/protoc/protobuf/python/google/protobuf/internal/encoder.py +788 -0
  162. data/ext/protoc/protobuf/python/google/protobuf/internal/enum_type_wrapper.py +89 -0
  163. data/ext/protoc/protobuf/python/google/protobuf/internal/factory_test1.proto +57 -0
  164. data/ext/protoc/protobuf/python/google/protobuf/internal/factory_test2.proto +92 -0
  165. data/ext/protoc/protobuf/python/google/protobuf/internal/generator_test.py +343 -0
  166. data/ext/protoc/protobuf/python/google/protobuf/internal/message_factory_python_test.py +54 -0
  167. data/ext/protoc/protobuf/python/google/protobuf/internal/message_factory_test.py +131 -0
  168. data/ext/protoc/protobuf/python/google/protobuf/internal/message_listener.py +78 -0
  169. data/ext/protoc/protobuf/python/google/protobuf/internal/message_python_test.py +54 -0
  170. data/ext/protoc/protobuf/python/google/protobuf/internal/message_test.py +681 -0
  171. data/ext/protoc/protobuf/python/google/protobuf/internal/missing_enum_values.proto +50 -0
  172. data/ext/protoc/protobuf/python/google/protobuf/internal/more_extensions.proto +58 -0
  173. data/ext/protoc/protobuf/python/google/protobuf/internal/more_extensions_dynamic.proto +49 -0
  174. data/ext/protoc/protobuf/python/google/protobuf/internal/more_messages.proto +51 -0
  175. data/ext/protoc/protobuf/python/google/protobuf/internal/python_message.py +1251 -0
  176. data/ext/protoc/protobuf/python/google/protobuf/internal/reflection_test.py +2934 -0
  177. data/ext/protoc/protobuf/python/google/protobuf/internal/service_reflection_test.py +136 -0
  178. data/ext/protoc/protobuf/python/google/protobuf/internal/symbol_database_test.py +120 -0
  179. data/ext/protoc/protobuf/python/google/protobuf/internal/test_bad_identifiers.proto +52 -0
  180. data/ext/protoc/protobuf/python/google/protobuf/internal/test_util.py +662 -0
  181. data/ext/protoc/protobuf/python/google/protobuf/internal/text_encoding_test.py +68 -0
  182. data/ext/protoc/protobuf/python/google/protobuf/internal/text_format_test.py +743 -0
  183. data/ext/protoc/protobuf/python/google/protobuf/internal/type_checkers.py +328 -0
  184. data/ext/protoc/protobuf/python/google/protobuf/internal/unknown_fields_test.py +231 -0
  185. data/ext/protoc/protobuf/python/google/protobuf/internal/wire_format.py +268 -0
  186. data/ext/protoc/protobuf/python/google/protobuf/internal/wire_format_test.py +253 -0
  187. data/ext/protoc/protobuf/python/google/protobuf/message.py +284 -0
  188. data/ext/protoc/protobuf/python/google/protobuf/message_factory.py +155 -0
  189. data/ext/protoc/protobuf/python/google/protobuf/pyext/README +6 -0
  190. data/ext/protoc/protobuf/python/google/protobuf/pyext/__init__.py +0 -0
  191. data/ext/protoc/protobuf/python/google/protobuf/pyext/cpp_message.py +61 -0
  192. data/ext/protoc/protobuf/python/google/protobuf/pyext/descriptor.cc +357 -0
  193. data/ext/protoc/protobuf/python/google/protobuf/pyext/descriptor.h +96 -0
  194. data/ext/protoc/protobuf/python/google/protobuf/pyext/descriptor_cpp2_test.py +58 -0
  195. data/ext/protoc/protobuf/python/google/protobuf/pyext/extension_dict.cc +338 -0
  196. data/ext/protoc/protobuf/python/google/protobuf/pyext/extension_dict.h +123 -0
  197. data/ext/protoc/protobuf/python/google/protobuf/pyext/message.cc +2561 -0
  198. data/ext/protoc/protobuf/python/google/protobuf/pyext/message.h +305 -0
  199. data/ext/protoc/protobuf/python/google/protobuf/pyext/message_factory_cpp2_test.py +56 -0
  200. data/ext/protoc/protobuf/python/google/protobuf/pyext/proto2_api_test.proto +38 -0
  201. data/ext/protoc/protobuf/python/google/protobuf/pyext/python.proto +66 -0
  202. data/ext/protoc/protobuf/python/google/protobuf/pyext/python_protobuf.h +57 -0
  203. data/ext/protoc/protobuf/python/google/protobuf/pyext/reflection_cpp2_generated_test.py +94 -0
  204. data/ext/protoc/protobuf/python/google/protobuf/pyext/repeated_composite_container.cc +763 -0
  205. data/ext/protoc/protobuf/python/google/protobuf/pyext/repeated_composite_container.h +172 -0
  206. data/ext/protoc/protobuf/python/google/protobuf/pyext/repeated_scalar_container.cc +825 -0
  207. data/ext/protoc/protobuf/python/google/protobuf/pyext/repeated_scalar_container.h +112 -0
  208. data/ext/protoc/protobuf/python/google/protobuf/pyext/scoped_pyobject_ptr.h +95 -0
  209. data/ext/protoc/protobuf/python/google/protobuf/reflection.py +205 -0
  210. data/ext/protoc/protobuf/python/google/protobuf/service.py +226 -0
  211. data/ext/protoc/protobuf/python/google/protobuf/service_reflection.py +284 -0
  212. data/ext/protoc/protobuf/python/google/protobuf/symbol_database.py +185 -0
  213. data/ext/protoc/protobuf/python/google/protobuf/text_encoding.py +110 -0
  214. data/ext/protoc/protobuf/python/google/protobuf/text_format.py +873 -0
  215. data/ext/protoc/protobuf/python/mox.py +1401 -0
  216. data/ext/protoc/protobuf/python/setup.py +201 -0
  217. data/ext/protoc/protobuf/python/stubout.py +140 -0
  218. data/ext/protoc/protobuf/src/Makefile.am +418 -0
  219. data/ext/protoc/protobuf/src/google/protobuf/SEBS +240 -0
  220. data/ext/protoc/protobuf/src/google/protobuf/compiler/code_generator.cc +84 -0
  221. data/ext/protoc/protobuf/src/google/protobuf/compiler/code_generator.h +145 -0
  222. data/ext/protoc/protobuf/src/google/protobuf/compiler/command_line_interface.cc +1603 -0
  223. data/ext/protoc/protobuf/src/google/protobuf/compiler/command_line_interface.h +378 -0
  224. data/ext/protoc/protobuf/src/google/protobuf/compiler/command_line_interface_unittest.cc +1654 -0
  225. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_bootstrap_unittest.cc +158 -0
  226. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_enum.cc +288 -0
  227. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_enum.h +103 -0
  228. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.cc +431 -0
  229. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.h +122 -0
  230. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_extension.cc +210 -0
  231. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_extension.h +86 -0
  232. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_field.cc +166 -0
  233. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_field.h +185 -0
  234. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_file.cc +665 -0
  235. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_file.h +99 -0
  236. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_generator.cc +125 -0
  237. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_generator.h +72 -0
  238. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.cc +494 -0
  239. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.h +206 -0
  240. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_message.cc +2645 -0
  241. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_message.h +175 -0
  242. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc +375 -0
  243. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.h +121 -0
  244. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h +58 -0
  245. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_plugin_unittest.cc +123 -0
  246. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc +451 -0
  247. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.h +123 -0
  248. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_service.cc +334 -0
  249. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_service.h +118 -0
  250. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_string_field.cc +642 -0
  251. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_string_field.h +127 -0
  252. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_test_bad_identifiers.proto +132 -0
  253. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_unittest.cc +2074 -0
  254. data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_unittest.h +51 -0
  255. data/ext/protoc/protobuf/src/google/protobuf/compiler/importer.cc +480 -0
  256. data/ext/protoc/protobuf/src/google/protobuf/compiler/importer.h +317 -0
  257. data/ext/protoc/protobuf/src/google/protobuf/compiler/importer_unittest.cc +617 -0
  258. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_context.cc +195 -0
  259. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_context.h +95 -0
  260. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_doc_comment.cc +233 -0
  261. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_doc_comment.h +69 -0
  262. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_doc_comment_unittest.cc +67 -0
  263. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_enum.cc +333 -0
  264. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_enum.h +99 -0
  265. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_enum_field.cc +778 -0
  266. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_enum_field.h +158 -0
  267. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_extension.cc +207 -0
  268. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_extension.h +109 -0
  269. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_field.cc +213 -0
  270. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_field.h +162 -0
  271. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_file.cc +534 -0
  272. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_file.h +115 -0
  273. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_generator.cc +158 -0
  274. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_generator.h +72 -0
  275. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_generator_factory.cc +77 -0
  276. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_generator_factory.h +101 -0
  277. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_helpers.cc +737 -0
  278. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_helpers.h +322 -0
  279. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_lazy_message_field.cc +826 -0
  280. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_lazy_message_field.h +121 -0
  281. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_message.cc +1666 -0
  282. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_message.h +140 -0
  283. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_message_field.cc +1343 -0
  284. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_message_field.h +173 -0
  285. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_name_resolver.cc +266 -0
  286. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_name_resolver.h +124 -0
  287. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_plugin_unittest.cc +124 -0
  288. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_primitive_field.cc +877 -0
  289. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_primitive_field.h +160 -0
  290. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_service.cc +473 -0
  291. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_service.h +135 -0
  292. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_shared_code_generator.cc +201 -0
  293. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_shared_code_generator.h +90 -0
  294. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_string_field.cc +1056 -0
  295. data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_string_field.h +160 -0
  296. data/ext/protoc/protobuf/src/google/protobuf/compiler/main.cc +61 -0
  297. data/ext/protoc/protobuf/src/google/protobuf/compiler/mock_code_generator.cc +240 -0
  298. data/ext/protoc/protobuf/src/google/protobuf/compiler/mock_code_generator.h +117 -0
  299. data/ext/protoc/protobuf/src/google/protobuf/compiler/package_info.h +64 -0
  300. data/ext/protoc/protobuf/src/google/protobuf/compiler/parser.cc +1750 -0
  301. data/ext/protoc/protobuf/src/google/protobuf/compiler/parser.h +522 -0
  302. data/ext/protoc/protobuf/src/google/protobuf/compiler/parser_unittest.cc +2612 -0
  303. data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.cc +163 -0
  304. data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.h +72 -0
  305. data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.pb.cc +1148 -0
  306. data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.pb.h +897 -0
  307. data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.proto +147 -0
  308. data/ext/protoc/protobuf/src/google/protobuf/compiler/python/python_generator.cc +1262 -0
  309. data/ext/protoc/protobuf/src/google/protobuf/compiler/python/python_generator.h +166 -0
  310. data/ext/protoc/protobuf/src/google/protobuf/compiler/python/python_plugin_unittest.cc +118 -0
  311. data/ext/protoc/protobuf/src/google/protobuf/compiler/subprocess.cc +463 -0
  312. data/ext/protoc/protobuf/src/google/protobuf/compiler/subprocess.h +108 -0
  313. data/ext/protoc/protobuf/src/google/protobuf/compiler/test_plugin.cc +51 -0
  314. data/ext/protoc/protobuf/src/google/protobuf/compiler/zip_output_unittest.sh +91 -0
  315. data/ext/protoc/protobuf/src/google/protobuf/compiler/zip_writer.cc +218 -0
  316. data/ext/protoc/protobuf/src/google/protobuf/compiler/zip_writer.h +93 -0
  317. data/ext/protoc/protobuf/src/google/protobuf/descriptor.cc +5420 -0
  318. data/ext/protoc/protobuf/src/google/protobuf/descriptor.h +1691 -0
  319. data/ext/protoc/protobuf/src/google/protobuf/descriptor.pb.cc +9135 -0
  320. data/ext/protoc/protobuf/src/google/protobuf/descriptor.pb.h +6761 -0
  321. data/ext/protoc/protobuf/src/google/protobuf/descriptor.proto +687 -0
  322. data/ext/protoc/protobuf/src/google/protobuf/descriptor_database.cc +543 -0
  323. data/ext/protoc/protobuf/src/google/protobuf/descriptor_database.h +369 -0
  324. data/ext/protoc/protobuf/src/google/protobuf/descriptor_database_unittest.cc +748 -0
  325. data/ext/protoc/protobuf/src/google/protobuf/descriptor_pb2_test.py +54 -0
  326. data/ext/protoc/protobuf/src/google/protobuf/descriptor_unittest.cc +5501 -0
  327. data/ext/protoc/protobuf/src/google/protobuf/dynamic_message.cc +764 -0
  328. data/ext/protoc/protobuf/src/google/protobuf/dynamic_message.h +148 -0
  329. data/ext/protoc/protobuf/src/google/protobuf/dynamic_message_unittest.cc +230 -0
  330. data/ext/protoc/protobuf/src/google/protobuf/extension_set.cc +1663 -0
  331. data/ext/protoc/protobuf/src/google/protobuf/extension_set.h +1234 -0
  332. data/ext/protoc/protobuf/src/google/protobuf/extension_set_heavy.cc +734 -0
  333. data/ext/protoc/protobuf/src/google/protobuf/extension_set_unittest.cc +1095 -0
  334. data/ext/protoc/protobuf/src/google/protobuf/generated_enum_reflection.h +91 -0
  335. data/ext/protoc/protobuf/src/google/protobuf/generated_message_reflection.cc +1683 -0
  336. data/ext/protoc/protobuf/src/google/protobuf/generated_message_reflection.h +504 -0
  337. data/ext/protoc/protobuf/src/google/protobuf/generated_message_reflection_unittest.cc +795 -0
  338. data/ext/protoc/protobuf/src/google/protobuf/generated_message_util.cc +65 -0
  339. data/ext/protoc/protobuf/src/google/protobuf/generated_message_util.h +113 -0
  340. data/ext/protoc/protobuf/src/google/protobuf/io/coded_stream.cc +914 -0
  341. data/ext/protoc/protobuf/src/google/protobuf/io/coded_stream.h +1220 -0
  342. data/ext/protoc/protobuf/src/google/protobuf/io/coded_stream_inl.h +69 -0
  343. data/ext/protoc/protobuf/src/google/protobuf/io/coded_stream_unittest.cc +1378 -0
  344. data/ext/protoc/protobuf/src/google/protobuf/io/gzip_stream.cc +326 -0
  345. data/ext/protoc/protobuf/src/google/protobuf/io/gzip_stream.h +209 -0
  346. data/ext/protoc/protobuf/src/google/protobuf/io/gzip_stream_unittest.sh +44 -0
  347. data/ext/protoc/protobuf/src/google/protobuf/io/package_info.h +54 -0
  348. data/ext/protoc/protobuf/src/google/protobuf/io/printer.cc +198 -0
  349. data/ext/protoc/protobuf/src/google/protobuf/io/printer.h +136 -0
  350. data/ext/protoc/protobuf/src/google/protobuf/io/printer_unittest.cc +285 -0
  351. data/ext/protoc/protobuf/src/google/protobuf/io/strtod.cc +113 -0
  352. data/ext/protoc/protobuf/src/google/protobuf/io/strtod.h +50 -0
  353. data/ext/protoc/protobuf/src/google/protobuf/io/tokenizer.cc +1127 -0
  354. data/ext/protoc/protobuf/src/google/protobuf/io/tokenizer.h +402 -0
  355. data/ext/protoc/protobuf/src/google/protobuf/io/tokenizer_unittest.cc +999 -0
  356. data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream.cc +57 -0
  357. data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream.h +248 -0
  358. data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc +473 -0
  359. data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h +358 -0
  360. data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc +405 -0
  361. data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h +354 -0
  362. data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_unittest.cc +965 -0
  363. data/ext/protoc/protobuf/src/google/protobuf/lite_unittest.cc +350 -0
  364. data/ext/protoc/protobuf/src/google/protobuf/message.cc +358 -0
  365. data/ext/protoc/protobuf/src/google/protobuf/message.h +866 -0
  366. data/ext/protoc/protobuf/src/google/protobuf/message_lite.cc +335 -0
  367. data/ext/protoc/protobuf/src/google/protobuf/message_lite.h +247 -0
  368. data/ext/protoc/protobuf/src/google/protobuf/message_unittest.cc +427 -0
  369. data/ext/protoc/protobuf/src/google/protobuf/package_info.h +64 -0
  370. data/ext/protoc/protobuf/src/google/protobuf/reflection_ops.cc +269 -0
  371. data/ext/protoc/protobuf/src/google/protobuf/reflection_ops.h +81 -0
  372. data/ext/protoc/protobuf/src/google/protobuf/reflection_ops_unittest.cc +475 -0
  373. data/ext/protoc/protobuf/src/google/protobuf/repeated_field.cc +87 -0
  374. data/ext/protoc/protobuf/src/google/protobuf/repeated_field.h +1603 -0
  375. data/ext/protoc/protobuf/src/google/protobuf/repeated_field_reflection_unittest.cc +195 -0
  376. data/ext/protoc/protobuf/src/google/protobuf/repeated_field_unittest.cc +1442 -0
  377. data/ext/protoc/protobuf/src/google/protobuf/service.cc +46 -0
  378. data/ext/protoc/protobuf/src/google/protobuf/service.h +291 -0
  379. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops.h +227 -0
  380. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_arm64_gcc.h +325 -0
  381. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_gcc.h +151 -0
  382. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_qnx.h +146 -0
  383. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_atomicword_compat.h +122 -0
  384. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h +137 -0
  385. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_macosx.h +225 -0
  386. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_mips_gcc.h +313 -0
  387. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_pnacl.h +73 -0
  388. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_solaris.h +188 -0
  389. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_tsan.h +219 -0
  390. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc +137 -0
  391. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_gcc.h +293 -0
  392. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc +112 -0
  393. data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_msvc.h +150 -0
  394. data/ext/protoc/protobuf/src/google/protobuf/stubs/common.cc +395 -0
  395. data/ext/protoc/protobuf/src/google/protobuf/stubs/common.h +1226 -0
  396. data/ext/protoc/protobuf/src/google/protobuf/stubs/common_unittest.cc +357 -0
  397. data/ext/protoc/protobuf/src/google/protobuf/stubs/hash.h +232 -0
  398. data/ext/protoc/protobuf/src/google/protobuf/stubs/map_util.h +771 -0
  399. data/ext/protoc/protobuf/src/google/protobuf/stubs/once.cc +99 -0
  400. data/ext/protoc/protobuf/src/google/protobuf/stubs/once.h +166 -0
  401. data/ext/protoc/protobuf/src/google/protobuf/stubs/once_unittest.cc +253 -0
  402. data/ext/protoc/protobuf/src/google/protobuf/stubs/platform_macros.h +103 -0
  403. data/ext/protoc/protobuf/src/google/protobuf/stubs/shared_ptr.h +470 -0
  404. data/ext/protoc/protobuf/src/google/protobuf/stubs/stl_util.h +121 -0
  405. data/ext/protoc/protobuf/src/google/protobuf/stubs/stringprintf.cc +175 -0
  406. data/ext/protoc/protobuf/src/google/protobuf/stubs/stringprintf.h +76 -0
  407. data/ext/protoc/protobuf/src/google/protobuf/stubs/stringprintf_unittest.cc +152 -0
  408. data/ext/protoc/protobuf/src/google/protobuf/stubs/structurally_valid.cc +536 -0
  409. data/ext/protoc/protobuf/src/google/protobuf/stubs/structurally_valid_unittest.cc +40 -0
  410. data/ext/protoc/protobuf/src/google/protobuf/stubs/strutil.cc +1279 -0
  411. data/ext/protoc/protobuf/src/google/protobuf/stubs/strutil.h +562 -0
  412. data/ext/protoc/protobuf/src/google/protobuf/stubs/strutil_unittest.cc +73 -0
  413. data/ext/protoc/protobuf/src/google/protobuf/stubs/substitute.cc +134 -0
  414. data/ext/protoc/protobuf/src/google/protobuf/stubs/substitute.h +170 -0
  415. data/ext/protoc/protobuf/src/google/protobuf/stubs/template_util.h +138 -0
  416. data/ext/protoc/protobuf/src/google/protobuf/stubs/template_util_unittest.cc +130 -0
  417. data/ext/protoc/protobuf/src/google/protobuf/stubs/type_traits.h +336 -0
  418. data/ext/protoc/protobuf/src/google/protobuf/stubs/type_traits_unittest.cc +628 -0
  419. data/ext/protoc/protobuf/src/google/protobuf/test_util.cc +3345 -0
  420. data/ext/protoc/protobuf/src/google/protobuf/test_util.h +215 -0
  421. data/ext/protoc/protobuf/src/google/protobuf/test_util_lite.cc +1585 -0
  422. data/ext/protoc/protobuf/src/google/protobuf/test_util_lite.h +101 -0
  423. data/ext/protoc/protobuf/src/google/protobuf/testdata/bad_utf8_string +1 -0
  424. data/ext/protoc/protobuf/src/google/protobuf/testdata/golden_message +0 -0
  425. data/ext/protoc/protobuf/src/google/protobuf/testdata/golden_message_oneof_implemented +0 -0
  426. data/ext/protoc/protobuf/src/google/protobuf/testdata/golden_packed_fields_message +0 -0
  427. data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_data.txt +134 -0
  428. data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_data_oneof_implemented.txt +129 -0
  429. data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_data_pointy.txt +134 -0
  430. data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_data_pointy_oneof.txt +129 -0
  431. data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_extensions_data.txt +134 -0
  432. data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_extensions_data_pointy.txt +134 -0
  433. data/ext/protoc/protobuf/src/google/protobuf/testing/file.cc +194 -0
  434. data/ext/protoc/protobuf/src/google/protobuf/testing/file.h +97 -0
  435. data/ext/protoc/protobuf/src/google/protobuf/testing/googletest.cc +255 -0
  436. data/ext/protoc/protobuf/src/google/protobuf/testing/googletest.h +102 -0
  437. data/ext/protoc/protobuf/src/google/protobuf/testing/zcgunzip.cc +73 -0
  438. data/ext/protoc/protobuf/src/google/protobuf/testing/zcgzip.cc +79 -0
  439. data/ext/protoc/protobuf/src/google/protobuf/text_format.cc +1746 -0
  440. data/ext/protoc/protobuf/src/google/protobuf/text_format.h +473 -0
  441. data/ext/protoc/protobuf/src/google/protobuf/text_format_unittest.cc +1479 -0
  442. data/ext/protoc/protobuf/src/google/protobuf/unittest.proto +861 -0
  443. data/ext/protoc/protobuf/src/google/protobuf/unittest_custom_options.proto +393 -0
  444. data/ext/protoc/protobuf/src/google/protobuf/unittest_embed_optimize_for.proto +50 -0
  445. data/ext/protoc/protobuf/src/google/protobuf/unittest_empty.proto +37 -0
  446. data/ext/protoc/protobuf/src/google/protobuf/unittest_enormous_descriptor.proto +1046 -0
  447. data/ext/protoc/protobuf/src/google/protobuf/unittest_import.proto +64 -0
  448. data/ext/protoc/protobuf/src/google/protobuf/unittest_import_lite.proto +51 -0
  449. data/ext/protoc/protobuf/src/google/protobuf/unittest_import_public.proto +40 -0
  450. data/ext/protoc/protobuf/src/google/protobuf/unittest_import_public_lite.proto +42 -0
  451. data/ext/protoc/protobuf/src/google/protobuf/unittest_lite.proto +384 -0
  452. data/ext/protoc/protobuf/src/google/protobuf/unittest_lite_imports_nonlite.proto +43 -0
  453. data/ext/protoc/protobuf/src/google/protobuf/unittest_mset.proto +83 -0
  454. data/ext/protoc/protobuf/src/google/protobuf/unittest_no_generic_services.proto +53 -0
  455. data/ext/protoc/protobuf/src/google/protobuf/unittest_optimize_for.proto +66 -0
  456. data/ext/protoc/protobuf/src/google/protobuf/unknown_field_set.cc +265 -0
  457. data/ext/protoc/protobuf/src/google/protobuf/unknown_field_set.h +318 -0
  458. data/ext/protoc/protobuf/src/google/protobuf/unknown_field_set_unittest.cc +599 -0
  459. data/ext/protoc/protobuf/src/google/protobuf/wire_format.cc +1101 -0
  460. data/ext/protoc/protobuf/src/google/protobuf/wire_format.h +336 -0
  461. data/ext/protoc/protobuf/src/google/protobuf/wire_format_lite.cc +471 -0
  462. data/ext/protoc/protobuf/src/google/protobuf/wire_format_lite.h +661 -0
  463. data/ext/protoc/protobuf/src/google/protobuf/wire_format_lite_inl.h +860 -0
  464. data/ext/protoc/protobuf/src/google/protobuf/wire_format_unittest.cc +1120 -0
  465. data/ext/protoc/protobuf/src/solaris/libstdc++.la +51 -0
  466. data/ext/protoc/protobuf/vsprojects/config.h +29 -0
  467. data/ext/protoc/protobuf/vsprojects/convert2008to2005.sh +20 -0
  468. data/ext/protoc/protobuf/vsprojects/extract_includes.bat +50 -0
  469. data/ext/protoc/protobuf/vsprojects/libprotobuf-lite.vcproj +302 -0
  470. data/ext/protoc/protobuf/vsprojects/libprotobuf.vcproj +470 -0
  471. data/ext/protoc/protobuf/vsprojects/libprotoc.vcproj +466 -0
  472. data/ext/protoc/protobuf/vsprojects/lite-test.vcproj +305 -0
  473. data/ext/protoc/protobuf/vsprojects/protobuf.sln +92 -0
  474. data/ext/protoc/protobuf/vsprojects/protoc.vcproj +192 -0
  475. data/ext/protoc/protobuf/vsprojects/readme.txt +114 -0
  476. data/ext/protoc/protobuf/vsprojects/test_plugin.vcproj +209 -0
  477. data/ext/protoc/protobuf/vsprojects/tests.vcproj +681 -0
  478. data/lib/protoc/version.rb +1 -1
  479. metadata +480 -3
@@ -0,0 +1,215 @@
1
+ // Protocol Buffers - Google's data interchange format
2
+ // Copyright 2008 Google Inc. All rights reserved.
3
+ // https://developers.google.com/protocol-buffers/
4
+ //
5
+ // Redistribution and use in source and binary forms, with or without
6
+ // modification, are permitted provided that the following conditions are
7
+ // met:
8
+ //
9
+ // * Redistributions of source code must retain the above copyright
10
+ // notice, this list of conditions and the following disclaimer.
11
+ // * Redistributions in binary form must reproduce the above
12
+ // copyright notice, this list of conditions and the following disclaimer
13
+ // in the documentation and/or other materials provided with the
14
+ // distribution.
15
+ // * Neither the name of Google Inc. nor the names of its
16
+ // contributors may be used to endorse or promote products derived from
17
+ // this software without specific prior written permission.
18
+ //
19
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
+ // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
+ // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
+ // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
+ // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
+ // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
+ // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
+ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
+ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
+
31
+ // Author: kenton@google.com (Kenton Varda)
32
+ // Based on original Protocol Buffers design by
33
+ // Sanjay Ghemawat, Jeff Dean, and others.
34
+
35
+ #ifndef GOOGLE_PROTOBUF_TEST_UTIL_H__
36
+ #define GOOGLE_PROTOBUF_TEST_UTIL_H__
37
+
38
+ #include <stack>
39
+ #include <string>
40
+ #include <google/protobuf/message.h>
41
+ #include <google/protobuf/unittest.pb.h>
42
+
43
+ namespace google {
44
+ namespace protobuf {
45
+
46
+ namespace unittest = ::protobuf_unittest;
47
+ namespace unittest_import = protobuf_unittest_import;
48
+
49
+ class TestUtil {
50
+ public:
51
+ // Set every field in the message to a unique value.
52
+ static void SetAllFields(unittest::TestAllTypes* message);
53
+ static void SetOptionalFields(unittest::TestAllTypes* message);
54
+ static void AddRepeatedFields1(unittest::TestAllTypes* message);
55
+ static void AddRepeatedFields2(unittest::TestAllTypes* message);
56
+ static void SetDefaultFields(unittest::TestAllTypes* message);
57
+ static void SetOneofFields(unittest::TestAllTypes* message);
58
+ static void SetAllExtensions(unittest::TestAllExtensions* message);
59
+ static void SetOneofFields(unittest::TestAllExtensions* message);
60
+ static void SetAllFieldsAndExtensions(unittest::TestFieldOrderings* message);
61
+ static void SetPackedFields(unittest::TestPackedTypes* message);
62
+ static void SetPackedExtensions(unittest::TestPackedExtensions* message);
63
+ static void SetUnpackedFields(unittest::TestUnpackedTypes* message);
64
+ static void SetOneof1(unittest::TestOneof2* message);
65
+ static void SetOneof2(unittest::TestOneof2* message);
66
+
67
+ // Use the repeated versions of the set_*() accessors to modify all the
68
+ // repeated fields of the messsage (which should already have been
69
+ // initialized with Set*Fields()). Set*Fields() itself only tests
70
+ // the add_*() accessors.
71
+ static void ModifyRepeatedFields(unittest::TestAllTypes* message);
72
+ static void ModifyRepeatedExtensions(unittest::TestAllExtensions* message);
73
+ static void ModifyPackedFields(unittest::TestPackedTypes* message);
74
+ static void ModifyPackedExtensions(unittest::TestPackedExtensions* message);
75
+
76
+ // Check that all fields have the values that they should have after
77
+ // Set*Fields() is called.
78
+ static void ExpectAllFieldsSet(const unittest::TestAllTypes& message);
79
+ static void ExpectAllExtensionsSet(
80
+ const unittest::TestAllExtensions& message);
81
+ static void ExpectPackedFieldsSet(const unittest::TestPackedTypes& message);
82
+ static void ExpectPackedExtensionsSet(
83
+ const unittest::TestPackedExtensions& message);
84
+ static void ExpectUnpackedFieldsSet(
85
+ const unittest::TestUnpackedTypes& message);
86
+ static void ExpectUnpackedExtensionsSet(
87
+ const unittest::TestUnpackedExtensions& message);
88
+ static void ExpectOneofSet1(const unittest::TestOneof2& message);
89
+ static void ExpectOneofSet2(const unittest::TestOneof2& message);
90
+
91
+ // Expect that the message is modified as would be expected from
92
+ // Modify*Fields().
93
+ static void ExpectRepeatedFieldsModified(
94
+ const unittest::TestAllTypes& message);
95
+ static void ExpectRepeatedExtensionsModified(
96
+ const unittest::TestAllExtensions& message);
97
+ static void ExpectPackedFieldsModified(
98
+ const unittest::TestPackedTypes& message);
99
+ static void ExpectPackedExtensionsModified(
100
+ const unittest::TestPackedExtensions& message);
101
+
102
+ // Check that all fields have their default values.
103
+ static void ExpectClear(const unittest::TestAllTypes& message);
104
+ static void ExpectExtensionsClear(const unittest::TestAllExtensions& message);
105
+ static void ExpectPackedClear(const unittest::TestPackedTypes& message);
106
+ static void ExpectPackedExtensionsClear(
107
+ const unittest::TestPackedExtensions& message);
108
+ static void ExpectOneofClear(const unittest::TestOneof2& message);
109
+
110
+ // Check that the passed-in serialization is the canonical serialization we
111
+ // expect for a TestFieldOrderings message filled in by
112
+ // SetAllFieldsAndExtensions().
113
+ static void ExpectAllFieldsAndExtensionsInOrder(const string& serialized);
114
+
115
+ // Check that all repeated fields have had their last elements removed.
116
+ static void ExpectLastRepeatedsRemoved(
117
+ const unittest::TestAllTypes& message);
118
+ static void ExpectLastRepeatedExtensionsRemoved(
119
+ const unittest::TestAllExtensions& message);
120
+ static void ExpectLastRepeatedsReleased(
121
+ const unittest::TestAllTypes& message);
122
+ static void ExpectLastRepeatedExtensionsReleased(
123
+ const unittest::TestAllExtensions& message);
124
+
125
+ // Check that all repeated fields have had their first and last elements
126
+ // swapped.
127
+ static void ExpectRepeatedsSwapped(const unittest::TestAllTypes& message);
128
+ static void ExpectRepeatedExtensionsSwapped(
129
+ const unittest::TestAllExtensions& message);
130
+
131
+ static void ExpectAtMostOneFieldSetInOneof(
132
+ const unittest::TestOneof2 &message);
133
+
134
+ // Like above, but use the reflection interface.
135
+ class ReflectionTester {
136
+ public:
137
+ // base_descriptor must be a descriptor for TestAllTypes or
138
+ // TestAllExtensions. In the former case, ReflectionTester fetches from
139
+ // it the FieldDescriptors needed to use the reflection interface. In
140
+ // the latter case, ReflectionTester searches for extension fields in
141
+ // its file.
142
+ explicit ReflectionTester(const Descriptor* base_descriptor);
143
+
144
+ void SetAllFieldsViaReflection(Message* message);
145
+ void ModifyRepeatedFieldsViaReflection(Message* message);
146
+ void ExpectAllFieldsSetViaReflection(const Message& message);
147
+ void ExpectClearViaReflection(const Message& message);
148
+
149
+ void SetPackedFieldsViaReflection(Message* message);
150
+ void ModifyPackedFieldsViaReflection(Message* message);
151
+ void ExpectPackedFieldsSetViaReflection(const Message& message);
152
+ void ExpectPackedClearViaReflection(const Message& message);
153
+
154
+ void RemoveLastRepeatedsViaReflection(Message* message);
155
+ void ReleaseLastRepeatedsViaReflection(
156
+ Message* message, bool expect_extensions_notnull);
157
+ void SwapRepeatedsViaReflection(Message* message);
158
+ void SetAllocatedOptionalMessageFieldsToNullViaReflection(
159
+ Message* message);
160
+ static void SetAllocatedOptionalMessageFieldsToMessageViaReflection(
161
+ Message* from_message,
162
+ Message* to_message);
163
+
164
+ enum MessageReleaseState {
165
+ IS_NULL,
166
+ CAN_BE_NULL,
167
+ NOT_NULL,
168
+ };
169
+ void ExpectMessagesReleasedViaReflection(
170
+ Message* message, MessageReleaseState expected_release_state);
171
+
172
+ // Set and check functions for TestOneof2 messages. No need to construct
173
+ // the ReflectionTester by TestAllTypes nor TestAllExtensions.
174
+ static void SetOneofViaReflection(Message* message);
175
+ static void ExpectOneofSetViaReflection(const Message& message);
176
+
177
+ private:
178
+ const FieldDescriptor* F(const string& name);
179
+
180
+ const Descriptor* base_descriptor_;
181
+
182
+ const FieldDescriptor* group_a_;
183
+ const FieldDescriptor* repeated_group_a_;
184
+ const FieldDescriptor* nested_b_;
185
+ const FieldDescriptor* foreign_c_;
186
+ const FieldDescriptor* import_d_;
187
+ const FieldDescriptor* import_e_;
188
+
189
+ const EnumValueDescriptor* nested_foo_;
190
+ const EnumValueDescriptor* nested_bar_;
191
+ const EnumValueDescriptor* nested_baz_;
192
+ const EnumValueDescriptor* foreign_foo_;
193
+ const EnumValueDescriptor* foreign_bar_;
194
+ const EnumValueDescriptor* foreign_baz_;
195
+ const EnumValueDescriptor* import_foo_;
196
+ const EnumValueDescriptor* import_bar_;
197
+ const EnumValueDescriptor* import_baz_;
198
+
199
+ // We have to split this into three function otherwise it creates a stack
200
+ // frame so large that it triggers a warning.
201
+ void ExpectAllFieldsSetViaReflection1(const Message& message);
202
+ void ExpectAllFieldsSetViaReflection2(const Message& message);
203
+ void ExpectAllFieldsSetViaReflection3(const Message& message);
204
+
205
+ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ReflectionTester);
206
+ };
207
+
208
+ private:
209
+ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TestUtil);
210
+ };
211
+
212
+ } // namespace protobuf
213
+
214
+ } // namespace google
215
+ #endif // GOOGLE_PROTOBUF_TEST_UTIL_H__
@@ -0,0 +1,1585 @@
1
+ // Protocol Buffers - Google's data interchange format
2
+ // Copyright 2008 Google Inc. All rights reserved.
3
+ // https://developers.google.com/protocol-buffers/
4
+ //
5
+ // Redistribution and use in source and binary forms, with or without
6
+ // modification, are permitted provided that the following conditions are
7
+ // met:
8
+ //
9
+ // * Redistributions of source code must retain the above copyright
10
+ // notice, this list of conditions and the following disclaimer.
11
+ // * Redistributions in binary form must reproduce the above
12
+ // copyright notice, this list of conditions and the following disclaimer
13
+ // in the documentation and/or other materials provided with the
14
+ // distribution.
15
+ // * Neither the name of Google Inc. nor the names of its
16
+ // contributors may be used to endorse or promote products derived from
17
+ // this software without specific prior written permission.
18
+ //
19
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
+ // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
+ // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
+ // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
+ // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
+ // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
+ // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
+ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
+ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
+
31
+ // Author: kenton@google.com (Kenton Varda)
32
+ // Based on original Protocol Buffers design by
33
+ // Sanjay Ghemawat, Jeff Dean, and others.
34
+
35
+ #include <google/protobuf/test_util_lite.h>
36
+ #include <google/protobuf/stubs/common.h>
37
+
38
+
39
+ #define EXPECT_TRUE GOOGLE_CHECK
40
+ #define ASSERT_TRUE GOOGLE_CHECK
41
+ #define EXPECT_FALSE(COND) GOOGLE_CHECK(!(COND))
42
+ #define EXPECT_EQ GOOGLE_CHECK_EQ
43
+ #define ASSERT_EQ GOOGLE_CHECK_EQ
44
+
45
+ namespace google {
46
+ namespace protobuf {
47
+
48
+ void TestUtilLite::SetAllFields(unittest::TestAllTypesLite* message) {
49
+ message->set_optional_int32 (101);
50
+ message->set_optional_int64 (102);
51
+ message->set_optional_uint32 (103);
52
+ message->set_optional_uint64 (104);
53
+ message->set_optional_sint32 (105);
54
+ message->set_optional_sint64 (106);
55
+ message->set_optional_fixed32 (107);
56
+ message->set_optional_fixed64 (108);
57
+ message->set_optional_sfixed32(109);
58
+ message->set_optional_sfixed64(110);
59
+ message->set_optional_float (111);
60
+ message->set_optional_double (112);
61
+ message->set_optional_bool (true);
62
+ message->set_optional_string ("115");
63
+ message->set_optional_bytes ("116");
64
+
65
+ message->mutable_optionalgroup ()->set_a(117);
66
+ message->mutable_optional_nested_message ()->set_bb(118);
67
+ message->mutable_optional_foreign_message ()->set_c(119);
68
+ message->mutable_optional_import_message ()->set_d(120);
69
+ message->mutable_optional_public_import_message()->set_e(126);
70
+ message->mutable_optional_lazy_message ()->set_bb(127);
71
+
72
+ message->set_optional_nested_enum (unittest::TestAllTypesLite::BAZ );
73
+ message->set_optional_foreign_enum(unittest::FOREIGN_LITE_BAZ );
74
+ message->set_optional_import_enum (unittest_import::IMPORT_LITE_BAZ);
75
+
76
+
77
+ // -----------------------------------------------------------------
78
+
79
+ message->add_repeated_int32 (201);
80
+ message->add_repeated_int64 (202);
81
+ message->add_repeated_uint32 (203);
82
+ message->add_repeated_uint64 (204);
83
+ message->add_repeated_sint32 (205);
84
+ message->add_repeated_sint64 (206);
85
+ message->add_repeated_fixed32 (207);
86
+ message->add_repeated_fixed64 (208);
87
+ message->add_repeated_sfixed32(209);
88
+ message->add_repeated_sfixed64(210);
89
+ message->add_repeated_float (211);
90
+ message->add_repeated_double (212);
91
+ message->add_repeated_bool (true);
92
+ message->add_repeated_string ("215");
93
+ message->add_repeated_bytes ("216");
94
+
95
+ message->add_repeatedgroup ()->set_a(217);
96
+ message->add_repeated_nested_message ()->set_bb(218);
97
+ message->add_repeated_foreign_message()->set_c(219);
98
+ message->add_repeated_import_message ()->set_d(220);
99
+ message->add_repeated_lazy_message ()->set_bb(227);
100
+
101
+ message->add_repeated_nested_enum (unittest::TestAllTypesLite::BAR );
102
+ message->add_repeated_foreign_enum(unittest::FOREIGN_LITE_BAR );
103
+ message->add_repeated_import_enum (unittest_import::IMPORT_LITE_BAR);
104
+
105
+
106
+ // Add a second one of each field.
107
+ message->add_repeated_int32 (301);
108
+ message->add_repeated_int64 (302);
109
+ message->add_repeated_uint32 (303);
110
+ message->add_repeated_uint64 (304);
111
+ message->add_repeated_sint32 (305);
112
+ message->add_repeated_sint64 (306);
113
+ message->add_repeated_fixed32 (307);
114
+ message->add_repeated_fixed64 (308);
115
+ message->add_repeated_sfixed32(309);
116
+ message->add_repeated_sfixed64(310);
117
+ message->add_repeated_float (311);
118
+ message->add_repeated_double (312);
119
+ message->add_repeated_bool (false);
120
+ message->add_repeated_string ("315");
121
+ message->add_repeated_bytes ("316");
122
+
123
+ message->add_repeatedgroup ()->set_a(317);
124
+ message->add_repeated_nested_message ()->set_bb(318);
125
+ message->add_repeated_foreign_message()->set_c(319);
126
+ message->add_repeated_import_message ()->set_d(320);
127
+ message->add_repeated_lazy_message ()->set_bb(327);
128
+
129
+ message->add_repeated_nested_enum (unittest::TestAllTypesLite::BAZ );
130
+ message->add_repeated_foreign_enum(unittest::FOREIGN_LITE_BAZ );
131
+ message->add_repeated_import_enum (unittest_import::IMPORT_LITE_BAZ);
132
+
133
+
134
+ // -----------------------------------------------------------------
135
+
136
+ message->set_default_int32 (401);
137
+ message->set_default_int64 (402);
138
+ message->set_default_uint32 (403);
139
+ message->set_default_uint64 (404);
140
+ message->set_default_sint32 (405);
141
+ message->set_default_sint64 (406);
142
+ message->set_default_fixed32 (407);
143
+ message->set_default_fixed64 (408);
144
+ message->set_default_sfixed32(409);
145
+ message->set_default_sfixed64(410);
146
+ message->set_default_float (411);
147
+ message->set_default_double (412);
148
+ message->set_default_bool (false);
149
+ message->set_default_string ("415");
150
+ message->set_default_bytes ("416");
151
+
152
+ message->set_default_nested_enum (unittest::TestAllTypesLite::FOO );
153
+ message->set_default_foreign_enum(unittest::FOREIGN_LITE_FOO );
154
+ message->set_default_import_enum (unittest_import::IMPORT_LITE_FOO);
155
+
156
+
157
+ message->set_oneof_uint32(601);
158
+ message->mutable_oneof_nested_message()->set_bb(602);
159
+ message->set_oneof_string("603");
160
+ message->set_oneof_bytes("604");
161
+ }
162
+
163
+ // -------------------------------------------------------------------
164
+
165
+ void TestUtilLite::ModifyRepeatedFields(unittest::TestAllTypesLite* message) {
166
+ message->set_repeated_int32 (1, 501);
167
+ message->set_repeated_int64 (1, 502);
168
+ message->set_repeated_uint32 (1, 503);
169
+ message->set_repeated_uint64 (1, 504);
170
+ message->set_repeated_sint32 (1, 505);
171
+ message->set_repeated_sint64 (1, 506);
172
+ message->set_repeated_fixed32 (1, 507);
173
+ message->set_repeated_fixed64 (1, 508);
174
+ message->set_repeated_sfixed32(1, 509);
175
+ message->set_repeated_sfixed64(1, 510);
176
+ message->set_repeated_float (1, 511);
177
+ message->set_repeated_double (1, 512);
178
+ message->set_repeated_bool (1, true);
179
+ message->set_repeated_string (1, "515");
180
+ message->set_repeated_bytes (1, "516");
181
+
182
+ message->mutable_repeatedgroup (1)->set_a(517);
183
+ message->mutable_repeated_nested_message (1)->set_bb(518);
184
+ message->mutable_repeated_foreign_message(1)->set_c(519);
185
+ message->mutable_repeated_import_message (1)->set_d(520);
186
+ message->mutable_repeated_lazy_message (1)->set_bb(527);
187
+
188
+ message->set_repeated_nested_enum (1, unittest::TestAllTypesLite::FOO );
189
+ message->set_repeated_foreign_enum(1, unittest::FOREIGN_LITE_FOO );
190
+ message->set_repeated_import_enum (1, unittest_import::IMPORT_LITE_FOO);
191
+
192
+ }
193
+
194
+ // -------------------------------------------------------------------
195
+
196
+ void TestUtilLite::ExpectAllFieldsSet(
197
+ const unittest::TestAllTypesLite& message) {
198
+ EXPECT_TRUE(message.has_optional_int32 ());
199
+ EXPECT_TRUE(message.has_optional_int64 ());
200
+ EXPECT_TRUE(message.has_optional_uint32 ());
201
+ EXPECT_TRUE(message.has_optional_uint64 ());
202
+ EXPECT_TRUE(message.has_optional_sint32 ());
203
+ EXPECT_TRUE(message.has_optional_sint64 ());
204
+ EXPECT_TRUE(message.has_optional_fixed32 ());
205
+ EXPECT_TRUE(message.has_optional_fixed64 ());
206
+ EXPECT_TRUE(message.has_optional_sfixed32());
207
+ EXPECT_TRUE(message.has_optional_sfixed64());
208
+ EXPECT_TRUE(message.has_optional_float ());
209
+ EXPECT_TRUE(message.has_optional_double ());
210
+ EXPECT_TRUE(message.has_optional_bool ());
211
+ EXPECT_TRUE(message.has_optional_string ());
212
+ EXPECT_TRUE(message.has_optional_bytes ());
213
+
214
+ EXPECT_TRUE(message.has_optionalgroup ());
215
+ EXPECT_TRUE(message.has_optional_nested_message ());
216
+ EXPECT_TRUE(message.has_optional_foreign_message ());
217
+ EXPECT_TRUE(message.has_optional_import_message ());
218
+ EXPECT_TRUE(message.has_optional_public_import_message());
219
+ EXPECT_TRUE(message.has_optional_lazy_message ());
220
+
221
+ EXPECT_TRUE(message.optionalgroup ().has_a());
222
+ EXPECT_TRUE(message.optional_nested_message ().has_bb());
223
+ EXPECT_TRUE(message.optional_foreign_message ().has_c());
224
+ EXPECT_TRUE(message.optional_import_message ().has_d());
225
+ EXPECT_TRUE(message.optional_public_import_message().has_e());
226
+ EXPECT_TRUE(message.optional_lazy_message ().has_bb());
227
+
228
+ EXPECT_TRUE(message.has_optional_nested_enum ());
229
+ EXPECT_TRUE(message.has_optional_foreign_enum());
230
+ EXPECT_TRUE(message.has_optional_import_enum ());
231
+
232
+
233
+ EXPECT_EQ(101 , message.optional_int32 ());
234
+ EXPECT_EQ(102 , message.optional_int64 ());
235
+ EXPECT_EQ(103 , message.optional_uint32 ());
236
+ EXPECT_EQ(104 , message.optional_uint64 ());
237
+ EXPECT_EQ(105 , message.optional_sint32 ());
238
+ EXPECT_EQ(106 , message.optional_sint64 ());
239
+ EXPECT_EQ(107 , message.optional_fixed32 ());
240
+ EXPECT_EQ(108 , message.optional_fixed64 ());
241
+ EXPECT_EQ(109 , message.optional_sfixed32());
242
+ EXPECT_EQ(110 , message.optional_sfixed64());
243
+ EXPECT_EQ(111 , message.optional_float ());
244
+ EXPECT_EQ(112 , message.optional_double ());
245
+ EXPECT_EQ(true , message.optional_bool ());
246
+ EXPECT_EQ("115", message.optional_string ());
247
+ EXPECT_EQ("116", message.optional_bytes ());
248
+
249
+ EXPECT_EQ(117, message.optionalgroup ().a());
250
+ EXPECT_EQ(118, message.optional_nested_message ().bb());
251
+ EXPECT_EQ(119, message.optional_foreign_message ().c());
252
+ EXPECT_EQ(120, message.optional_import_message ().d());
253
+ EXPECT_EQ(126, message.optional_public_import_message().e());
254
+ EXPECT_EQ(127, message.optional_lazy_message ().bb());
255
+
256
+ EXPECT_EQ(unittest::TestAllTypesLite::BAZ , message.optional_nested_enum ());
257
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAZ , message.optional_foreign_enum());
258
+ EXPECT_EQ(unittest_import::IMPORT_LITE_BAZ, message.optional_import_enum ());
259
+
260
+
261
+ // -----------------------------------------------------------------
262
+
263
+ ASSERT_EQ(2, message.repeated_int32_size ());
264
+ ASSERT_EQ(2, message.repeated_int64_size ());
265
+ ASSERT_EQ(2, message.repeated_uint32_size ());
266
+ ASSERT_EQ(2, message.repeated_uint64_size ());
267
+ ASSERT_EQ(2, message.repeated_sint32_size ());
268
+ ASSERT_EQ(2, message.repeated_sint64_size ());
269
+ ASSERT_EQ(2, message.repeated_fixed32_size ());
270
+ ASSERT_EQ(2, message.repeated_fixed64_size ());
271
+ ASSERT_EQ(2, message.repeated_sfixed32_size());
272
+ ASSERT_EQ(2, message.repeated_sfixed64_size());
273
+ ASSERT_EQ(2, message.repeated_float_size ());
274
+ ASSERT_EQ(2, message.repeated_double_size ());
275
+ ASSERT_EQ(2, message.repeated_bool_size ());
276
+ ASSERT_EQ(2, message.repeated_string_size ());
277
+ ASSERT_EQ(2, message.repeated_bytes_size ());
278
+
279
+ ASSERT_EQ(2, message.repeatedgroup_size ());
280
+ ASSERT_EQ(2, message.repeated_nested_message_size ());
281
+ ASSERT_EQ(2, message.repeated_foreign_message_size());
282
+ ASSERT_EQ(2, message.repeated_import_message_size ());
283
+ ASSERT_EQ(2, message.repeated_lazy_message_size ());
284
+ ASSERT_EQ(2, message.repeated_nested_enum_size ());
285
+ ASSERT_EQ(2, message.repeated_foreign_enum_size ());
286
+ ASSERT_EQ(2, message.repeated_import_enum_size ());
287
+
288
+
289
+ EXPECT_EQ(201 , message.repeated_int32 (0));
290
+ EXPECT_EQ(202 , message.repeated_int64 (0));
291
+ EXPECT_EQ(203 , message.repeated_uint32 (0));
292
+ EXPECT_EQ(204 , message.repeated_uint64 (0));
293
+ EXPECT_EQ(205 , message.repeated_sint32 (0));
294
+ EXPECT_EQ(206 , message.repeated_sint64 (0));
295
+ EXPECT_EQ(207 , message.repeated_fixed32 (0));
296
+ EXPECT_EQ(208 , message.repeated_fixed64 (0));
297
+ EXPECT_EQ(209 , message.repeated_sfixed32(0));
298
+ EXPECT_EQ(210 , message.repeated_sfixed64(0));
299
+ EXPECT_EQ(211 , message.repeated_float (0));
300
+ EXPECT_EQ(212 , message.repeated_double (0));
301
+ EXPECT_EQ(true , message.repeated_bool (0));
302
+ EXPECT_EQ("215", message.repeated_string (0));
303
+ EXPECT_EQ("216", message.repeated_bytes (0));
304
+
305
+ EXPECT_EQ(217, message.repeatedgroup (0).a());
306
+ EXPECT_EQ(218, message.repeated_nested_message (0).bb());
307
+ EXPECT_EQ(219, message.repeated_foreign_message(0).c());
308
+ EXPECT_EQ(220, message.repeated_import_message (0).d());
309
+ EXPECT_EQ(227, message.repeated_lazy_message (0).bb());
310
+
311
+
312
+ EXPECT_EQ(unittest::TestAllTypesLite::BAR , message.repeated_nested_enum (0));
313
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAR , message.repeated_foreign_enum(0));
314
+ EXPECT_EQ(unittest_import::IMPORT_LITE_BAR, message.repeated_import_enum (0));
315
+
316
+ EXPECT_EQ(301 , message.repeated_int32 (1));
317
+ EXPECT_EQ(302 , message.repeated_int64 (1));
318
+ EXPECT_EQ(303 , message.repeated_uint32 (1));
319
+ EXPECT_EQ(304 , message.repeated_uint64 (1));
320
+ EXPECT_EQ(305 , message.repeated_sint32 (1));
321
+ EXPECT_EQ(306 , message.repeated_sint64 (1));
322
+ EXPECT_EQ(307 , message.repeated_fixed32 (1));
323
+ EXPECT_EQ(308 , message.repeated_fixed64 (1));
324
+ EXPECT_EQ(309 , message.repeated_sfixed32(1));
325
+ EXPECT_EQ(310 , message.repeated_sfixed64(1));
326
+ EXPECT_EQ(311 , message.repeated_float (1));
327
+ EXPECT_EQ(312 , message.repeated_double (1));
328
+ EXPECT_EQ(false, message.repeated_bool (1));
329
+ EXPECT_EQ("315", message.repeated_string (1));
330
+ EXPECT_EQ("316", message.repeated_bytes (1));
331
+
332
+ EXPECT_EQ(317, message.repeatedgroup (1).a());
333
+ EXPECT_EQ(318, message.repeated_nested_message (1).bb());
334
+ EXPECT_EQ(319, message.repeated_foreign_message(1).c());
335
+ EXPECT_EQ(320, message.repeated_import_message (1).d());
336
+ EXPECT_EQ(327, message.repeated_lazy_message (1).bb());
337
+
338
+ EXPECT_EQ(unittest::TestAllTypesLite::BAZ , message.repeated_nested_enum (1));
339
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAZ , message.repeated_foreign_enum(1));
340
+ EXPECT_EQ(unittest_import::IMPORT_LITE_BAZ, message.repeated_import_enum (1));
341
+
342
+
343
+ // -----------------------------------------------------------------
344
+
345
+ EXPECT_TRUE(message.has_default_int32 ());
346
+ EXPECT_TRUE(message.has_default_int64 ());
347
+ EXPECT_TRUE(message.has_default_uint32 ());
348
+ EXPECT_TRUE(message.has_default_uint64 ());
349
+ EXPECT_TRUE(message.has_default_sint32 ());
350
+ EXPECT_TRUE(message.has_default_sint64 ());
351
+ EXPECT_TRUE(message.has_default_fixed32 ());
352
+ EXPECT_TRUE(message.has_default_fixed64 ());
353
+ EXPECT_TRUE(message.has_default_sfixed32());
354
+ EXPECT_TRUE(message.has_default_sfixed64());
355
+ EXPECT_TRUE(message.has_default_float ());
356
+ EXPECT_TRUE(message.has_default_double ());
357
+ EXPECT_TRUE(message.has_default_bool ());
358
+ EXPECT_TRUE(message.has_default_string ());
359
+ EXPECT_TRUE(message.has_default_bytes ());
360
+
361
+ EXPECT_TRUE(message.has_default_nested_enum ());
362
+ EXPECT_TRUE(message.has_default_foreign_enum());
363
+ EXPECT_TRUE(message.has_default_import_enum ());
364
+
365
+
366
+ EXPECT_EQ(401 , message.default_int32 ());
367
+ EXPECT_EQ(402 , message.default_int64 ());
368
+ EXPECT_EQ(403 , message.default_uint32 ());
369
+ EXPECT_EQ(404 , message.default_uint64 ());
370
+ EXPECT_EQ(405 , message.default_sint32 ());
371
+ EXPECT_EQ(406 , message.default_sint64 ());
372
+ EXPECT_EQ(407 , message.default_fixed32 ());
373
+ EXPECT_EQ(408 , message.default_fixed64 ());
374
+ EXPECT_EQ(409 , message.default_sfixed32());
375
+ EXPECT_EQ(410 , message.default_sfixed64());
376
+ EXPECT_EQ(411 , message.default_float ());
377
+ EXPECT_EQ(412 , message.default_double ());
378
+ EXPECT_EQ(false, message.default_bool ());
379
+ EXPECT_EQ("415", message.default_string ());
380
+ EXPECT_EQ("416", message.default_bytes ());
381
+
382
+ EXPECT_EQ(unittest::TestAllTypesLite::FOO , message.default_nested_enum ());
383
+ EXPECT_EQ(unittest::FOREIGN_LITE_FOO , message.default_foreign_enum());
384
+ EXPECT_EQ(unittest_import::IMPORT_LITE_FOO, message.default_import_enum ());
385
+
386
+
387
+ EXPECT_FALSE(message.has_oneof_uint32 ());
388
+ EXPECT_FALSE(message.has_oneof_nested_message());
389
+ EXPECT_FALSE(message.has_oneof_string ());
390
+ EXPECT_TRUE(message.has_oneof_bytes ());
391
+
392
+ EXPECT_EQ("604", message.oneof_bytes());
393
+ }
394
+
395
+ // -------------------------------------------------------------------
396
+
397
+ void TestUtilLite::ExpectClear(const unittest::TestAllTypesLite& message) {
398
+ // has_blah() should initially be false for all optional fields.
399
+ EXPECT_FALSE(message.has_optional_int32 ());
400
+ EXPECT_FALSE(message.has_optional_int64 ());
401
+ EXPECT_FALSE(message.has_optional_uint32 ());
402
+ EXPECT_FALSE(message.has_optional_uint64 ());
403
+ EXPECT_FALSE(message.has_optional_sint32 ());
404
+ EXPECT_FALSE(message.has_optional_sint64 ());
405
+ EXPECT_FALSE(message.has_optional_fixed32 ());
406
+ EXPECT_FALSE(message.has_optional_fixed64 ());
407
+ EXPECT_FALSE(message.has_optional_sfixed32());
408
+ EXPECT_FALSE(message.has_optional_sfixed64());
409
+ EXPECT_FALSE(message.has_optional_float ());
410
+ EXPECT_FALSE(message.has_optional_double ());
411
+ EXPECT_FALSE(message.has_optional_bool ());
412
+ EXPECT_FALSE(message.has_optional_string ());
413
+ EXPECT_FALSE(message.has_optional_bytes ());
414
+
415
+ EXPECT_FALSE(message.has_optionalgroup ());
416
+ EXPECT_FALSE(message.has_optional_nested_message ());
417
+ EXPECT_FALSE(message.has_optional_foreign_message ());
418
+ EXPECT_FALSE(message.has_optional_import_message ());
419
+ EXPECT_FALSE(message.has_optional_public_import_message());
420
+ EXPECT_FALSE(message.has_optional_lazy_message ());
421
+
422
+ EXPECT_FALSE(message.has_optional_nested_enum ());
423
+ EXPECT_FALSE(message.has_optional_foreign_enum());
424
+ EXPECT_FALSE(message.has_optional_import_enum ());
425
+
426
+
427
+ // Optional fields without defaults are set to zero or something like it.
428
+ EXPECT_EQ(0 , message.optional_int32 ());
429
+ EXPECT_EQ(0 , message.optional_int64 ());
430
+ EXPECT_EQ(0 , message.optional_uint32 ());
431
+ EXPECT_EQ(0 , message.optional_uint64 ());
432
+ EXPECT_EQ(0 , message.optional_sint32 ());
433
+ EXPECT_EQ(0 , message.optional_sint64 ());
434
+ EXPECT_EQ(0 , message.optional_fixed32 ());
435
+ EXPECT_EQ(0 , message.optional_fixed64 ());
436
+ EXPECT_EQ(0 , message.optional_sfixed32());
437
+ EXPECT_EQ(0 , message.optional_sfixed64());
438
+ EXPECT_EQ(0 , message.optional_float ());
439
+ EXPECT_EQ(0 , message.optional_double ());
440
+ EXPECT_EQ(false, message.optional_bool ());
441
+ EXPECT_EQ("" , message.optional_string ());
442
+ EXPECT_EQ("" , message.optional_bytes ());
443
+
444
+ // Embedded messages should also be clear.
445
+ EXPECT_FALSE(message.optionalgroup ().has_a());
446
+ EXPECT_FALSE(message.optional_nested_message ().has_bb());
447
+ EXPECT_FALSE(message.optional_foreign_message ().has_c());
448
+ EXPECT_FALSE(message.optional_import_message ().has_d());
449
+ EXPECT_FALSE(message.optional_public_import_message().has_e());
450
+ EXPECT_FALSE(message.optional_lazy_message ().has_bb());
451
+
452
+ EXPECT_EQ(0, message.optionalgroup ().a());
453
+ EXPECT_EQ(0, message.optional_nested_message ().bb());
454
+ EXPECT_EQ(0, message.optional_foreign_message().c());
455
+ EXPECT_EQ(0, message.optional_import_message ().d());
456
+
457
+ // Enums without defaults are set to the first value in the enum.
458
+ EXPECT_EQ(unittest::TestAllTypesLite::FOO , message.optional_nested_enum ());
459
+ EXPECT_EQ(unittest::FOREIGN_LITE_FOO , message.optional_foreign_enum());
460
+ EXPECT_EQ(unittest_import::IMPORT_LITE_FOO, message.optional_import_enum ());
461
+
462
+
463
+ // Repeated fields are empty.
464
+ EXPECT_EQ(0, message.repeated_int32_size ());
465
+ EXPECT_EQ(0, message.repeated_int64_size ());
466
+ EXPECT_EQ(0, message.repeated_uint32_size ());
467
+ EXPECT_EQ(0, message.repeated_uint64_size ());
468
+ EXPECT_EQ(0, message.repeated_sint32_size ());
469
+ EXPECT_EQ(0, message.repeated_sint64_size ());
470
+ EXPECT_EQ(0, message.repeated_fixed32_size ());
471
+ EXPECT_EQ(0, message.repeated_fixed64_size ());
472
+ EXPECT_EQ(0, message.repeated_sfixed32_size());
473
+ EXPECT_EQ(0, message.repeated_sfixed64_size());
474
+ EXPECT_EQ(0, message.repeated_float_size ());
475
+ EXPECT_EQ(0, message.repeated_double_size ());
476
+ EXPECT_EQ(0, message.repeated_bool_size ());
477
+ EXPECT_EQ(0, message.repeated_string_size ());
478
+ EXPECT_EQ(0, message.repeated_bytes_size ());
479
+
480
+ EXPECT_EQ(0, message.repeatedgroup_size ());
481
+ EXPECT_EQ(0, message.repeated_nested_message_size ());
482
+ EXPECT_EQ(0, message.repeated_foreign_message_size());
483
+ EXPECT_EQ(0, message.repeated_import_message_size ());
484
+ EXPECT_EQ(0, message.repeated_lazy_message_size ());
485
+ EXPECT_EQ(0, message.repeated_nested_enum_size ());
486
+ EXPECT_EQ(0, message.repeated_foreign_enum_size ());
487
+ EXPECT_EQ(0, message.repeated_import_enum_size ());
488
+
489
+
490
+ // has_blah() should also be false for all default fields.
491
+ EXPECT_FALSE(message.has_default_int32 ());
492
+ EXPECT_FALSE(message.has_default_int64 ());
493
+ EXPECT_FALSE(message.has_default_uint32 ());
494
+ EXPECT_FALSE(message.has_default_uint64 ());
495
+ EXPECT_FALSE(message.has_default_sint32 ());
496
+ EXPECT_FALSE(message.has_default_sint64 ());
497
+ EXPECT_FALSE(message.has_default_fixed32 ());
498
+ EXPECT_FALSE(message.has_default_fixed64 ());
499
+ EXPECT_FALSE(message.has_default_sfixed32());
500
+ EXPECT_FALSE(message.has_default_sfixed64());
501
+ EXPECT_FALSE(message.has_default_float ());
502
+ EXPECT_FALSE(message.has_default_double ());
503
+ EXPECT_FALSE(message.has_default_bool ());
504
+ EXPECT_FALSE(message.has_default_string ());
505
+ EXPECT_FALSE(message.has_default_bytes ());
506
+
507
+ EXPECT_FALSE(message.has_default_nested_enum ());
508
+ EXPECT_FALSE(message.has_default_foreign_enum());
509
+ EXPECT_FALSE(message.has_default_import_enum ());
510
+
511
+
512
+ // Fields with defaults have their default values (duh).
513
+ EXPECT_EQ( 41 , message.default_int32 ());
514
+ EXPECT_EQ( 42 , message.default_int64 ());
515
+ EXPECT_EQ( 43 , message.default_uint32 ());
516
+ EXPECT_EQ( 44 , message.default_uint64 ());
517
+ EXPECT_EQ(-45 , message.default_sint32 ());
518
+ EXPECT_EQ( 46 , message.default_sint64 ());
519
+ EXPECT_EQ( 47 , message.default_fixed32 ());
520
+ EXPECT_EQ( 48 , message.default_fixed64 ());
521
+ EXPECT_EQ( 49 , message.default_sfixed32());
522
+ EXPECT_EQ(-50 , message.default_sfixed64());
523
+ EXPECT_EQ( 51.5 , message.default_float ());
524
+ EXPECT_EQ( 52e3 , message.default_double ());
525
+ EXPECT_EQ(true , message.default_bool ());
526
+ EXPECT_EQ("hello", message.default_string ());
527
+ EXPECT_EQ("world", message.default_bytes ());
528
+
529
+ EXPECT_EQ(unittest::TestAllTypesLite::BAR , message.default_nested_enum ());
530
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAR , message.default_foreign_enum());
531
+ EXPECT_EQ(unittest_import::IMPORT_LITE_BAR, message.default_import_enum ());
532
+
533
+
534
+ EXPECT_FALSE(message.has_oneof_uint32 ());
535
+ EXPECT_FALSE(message.has_oneof_nested_message());
536
+ EXPECT_FALSE(message.has_oneof_string ());
537
+ EXPECT_FALSE(message.has_oneof_bytes ());
538
+ }
539
+
540
+ // -------------------------------------------------------------------
541
+
542
+ void TestUtilLite::ExpectRepeatedFieldsModified(
543
+ const unittest::TestAllTypesLite& message) {
544
+ // ModifyRepeatedFields only sets the second repeated element of each
545
+ // field. In addition to verifying this, we also verify that the first
546
+ // element and size were *not* modified.
547
+ ASSERT_EQ(2, message.repeated_int32_size ());
548
+ ASSERT_EQ(2, message.repeated_int64_size ());
549
+ ASSERT_EQ(2, message.repeated_uint32_size ());
550
+ ASSERT_EQ(2, message.repeated_uint64_size ());
551
+ ASSERT_EQ(2, message.repeated_sint32_size ());
552
+ ASSERT_EQ(2, message.repeated_sint64_size ());
553
+ ASSERT_EQ(2, message.repeated_fixed32_size ());
554
+ ASSERT_EQ(2, message.repeated_fixed64_size ());
555
+ ASSERT_EQ(2, message.repeated_sfixed32_size());
556
+ ASSERT_EQ(2, message.repeated_sfixed64_size());
557
+ ASSERT_EQ(2, message.repeated_float_size ());
558
+ ASSERT_EQ(2, message.repeated_double_size ());
559
+ ASSERT_EQ(2, message.repeated_bool_size ());
560
+ ASSERT_EQ(2, message.repeated_string_size ());
561
+ ASSERT_EQ(2, message.repeated_bytes_size ());
562
+
563
+ ASSERT_EQ(2, message.repeatedgroup_size ());
564
+ ASSERT_EQ(2, message.repeated_nested_message_size ());
565
+ ASSERT_EQ(2, message.repeated_foreign_message_size());
566
+ ASSERT_EQ(2, message.repeated_import_message_size ());
567
+ ASSERT_EQ(2, message.repeated_lazy_message_size ());
568
+ ASSERT_EQ(2, message.repeated_nested_enum_size ());
569
+ ASSERT_EQ(2, message.repeated_foreign_enum_size ());
570
+ ASSERT_EQ(2, message.repeated_import_enum_size ());
571
+
572
+
573
+ EXPECT_EQ(201 , message.repeated_int32 (0));
574
+ EXPECT_EQ(202 , message.repeated_int64 (0));
575
+ EXPECT_EQ(203 , message.repeated_uint32 (0));
576
+ EXPECT_EQ(204 , message.repeated_uint64 (0));
577
+ EXPECT_EQ(205 , message.repeated_sint32 (0));
578
+ EXPECT_EQ(206 , message.repeated_sint64 (0));
579
+ EXPECT_EQ(207 , message.repeated_fixed32 (0));
580
+ EXPECT_EQ(208 , message.repeated_fixed64 (0));
581
+ EXPECT_EQ(209 , message.repeated_sfixed32(0));
582
+ EXPECT_EQ(210 , message.repeated_sfixed64(0));
583
+ EXPECT_EQ(211 , message.repeated_float (0));
584
+ EXPECT_EQ(212 , message.repeated_double (0));
585
+ EXPECT_EQ(true , message.repeated_bool (0));
586
+ EXPECT_EQ("215", message.repeated_string (0));
587
+ EXPECT_EQ("216", message.repeated_bytes (0));
588
+
589
+ EXPECT_EQ(217, message.repeatedgroup (0).a());
590
+ EXPECT_EQ(218, message.repeated_nested_message (0).bb());
591
+ EXPECT_EQ(219, message.repeated_foreign_message(0).c());
592
+ EXPECT_EQ(220, message.repeated_import_message (0).d());
593
+ EXPECT_EQ(227, message.repeated_lazy_message (0).bb());
594
+
595
+ EXPECT_EQ(unittest::TestAllTypesLite::BAR , message.repeated_nested_enum (0));
596
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAR , message.repeated_foreign_enum(0));
597
+ EXPECT_EQ(unittest_import::IMPORT_LITE_BAR, message.repeated_import_enum (0));
598
+
599
+
600
+ // Actually verify the second (modified) elements now.
601
+ EXPECT_EQ(501 , message.repeated_int32 (1));
602
+ EXPECT_EQ(502 , message.repeated_int64 (1));
603
+ EXPECT_EQ(503 , message.repeated_uint32 (1));
604
+ EXPECT_EQ(504 , message.repeated_uint64 (1));
605
+ EXPECT_EQ(505 , message.repeated_sint32 (1));
606
+ EXPECT_EQ(506 , message.repeated_sint64 (1));
607
+ EXPECT_EQ(507 , message.repeated_fixed32 (1));
608
+ EXPECT_EQ(508 , message.repeated_fixed64 (1));
609
+ EXPECT_EQ(509 , message.repeated_sfixed32(1));
610
+ EXPECT_EQ(510 , message.repeated_sfixed64(1));
611
+ EXPECT_EQ(511 , message.repeated_float (1));
612
+ EXPECT_EQ(512 , message.repeated_double (1));
613
+ EXPECT_EQ(true , message.repeated_bool (1));
614
+ EXPECT_EQ("515", message.repeated_string (1));
615
+ EXPECT_EQ("516", message.repeated_bytes (1));
616
+
617
+ EXPECT_EQ(517, message.repeatedgroup (1).a());
618
+ EXPECT_EQ(518, message.repeated_nested_message (1).bb());
619
+ EXPECT_EQ(519, message.repeated_foreign_message(1).c());
620
+ EXPECT_EQ(520, message.repeated_import_message (1).d());
621
+ EXPECT_EQ(527, message.repeated_lazy_message (1).bb());
622
+
623
+ EXPECT_EQ(unittest::TestAllTypesLite::FOO , message.repeated_nested_enum (1));
624
+ EXPECT_EQ(unittest::FOREIGN_LITE_FOO , message.repeated_foreign_enum(1));
625
+ EXPECT_EQ(unittest_import::IMPORT_LITE_FOO, message.repeated_import_enum (1));
626
+
627
+ }
628
+
629
+ // -------------------------------------------------------------------
630
+
631
+ void TestUtilLite::SetPackedFields(unittest::TestPackedTypesLite* message) {
632
+ message->add_packed_int32 (601);
633
+ message->add_packed_int64 (602);
634
+ message->add_packed_uint32 (603);
635
+ message->add_packed_uint64 (604);
636
+ message->add_packed_sint32 (605);
637
+ message->add_packed_sint64 (606);
638
+ message->add_packed_fixed32 (607);
639
+ message->add_packed_fixed64 (608);
640
+ message->add_packed_sfixed32(609);
641
+ message->add_packed_sfixed64(610);
642
+ message->add_packed_float (611);
643
+ message->add_packed_double (612);
644
+ message->add_packed_bool (true);
645
+ message->add_packed_enum (unittest::FOREIGN_LITE_BAR);
646
+ // add a second one of each field
647
+ message->add_packed_int32 (701);
648
+ message->add_packed_int64 (702);
649
+ message->add_packed_uint32 (703);
650
+ message->add_packed_uint64 (704);
651
+ message->add_packed_sint32 (705);
652
+ message->add_packed_sint64 (706);
653
+ message->add_packed_fixed32 (707);
654
+ message->add_packed_fixed64 (708);
655
+ message->add_packed_sfixed32(709);
656
+ message->add_packed_sfixed64(710);
657
+ message->add_packed_float (711);
658
+ message->add_packed_double (712);
659
+ message->add_packed_bool (false);
660
+ message->add_packed_enum (unittest::FOREIGN_LITE_BAZ);
661
+ }
662
+
663
+ // -------------------------------------------------------------------
664
+
665
+ void TestUtilLite::ModifyPackedFields(unittest::TestPackedTypesLite* message) {
666
+ message->set_packed_int32 (1, 801);
667
+ message->set_packed_int64 (1, 802);
668
+ message->set_packed_uint32 (1, 803);
669
+ message->set_packed_uint64 (1, 804);
670
+ message->set_packed_sint32 (1, 805);
671
+ message->set_packed_sint64 (1, 806);
672
+ message->set_packed_fixed32 (1, 807);
673
+ message->set_packed_fixed64 (1, 808);
674
+ message->set_packed_sfixed32(1, 809);
675
+ message->set_packed_sfixed64(1, 810);
676
+ message->set_packed_float (1, 811);
677
+ message->set_packed_double (1, 812);
678
+ message->set_packed_bool (1, true);
679
+ message->set_packed_enum (1, unittest::FOREIGN_LITE_FOO);
680
+ }
681
+
682
+ // -------------------------------------------------------------------
683
+
684
+ void TestUtilLite::ExpectPackedFieldsSet(
685
+ const unittest::TestPackedTypesLite& message) {
686
+ ASSERT_EQ(2, message.packed_int32_size ());
687
+ ASSERT_EQ(2, message.packed_int64_size ());
688
+ ASSERT_EQ(2, message.packed_uint32_size ());
689
+ ASSERT_EQ(2, message.packed_uint64_size ());
690
+ ASSERT_EQ(2, message.packed_sint32_size ());
691
+ ASSERT_EQ(2, message.packed_sint64_size ());
692
+ ASSERT_EQ(2, message.packed_fixed32_size ());
693
+ ASSERT_EQ(2, message.packed_fixed64_size ());
694
+ ASSERT_EQ(2, message.packed_sfixed32_size());
695
+ ASSERT_EQ(2, message.packed_sfixed64_size());
696
+ ASSERT_EQ(2, message.packed_float_size ());
697
+ ASSERT_EQ(2, message.packed_double_size ());
698
+ ASSERT_EQ(2, message.packed_bool_size ());
699
+ ASSERT_EQ(2, message.packed_enum_size ());
700
+
701
+ EXPECT_EQ(601 , message.packed_int32 (0));
702
+ EXPECT_EQ(602 , message.packed_int64 (0));
703
+ EXPECT_EQ(603 , message.packed_uint32 (0));
704
+ EXPECT_EQ(604 , message.packed_uint64 (0));
705
+ EXPECT_EQ(605 , message.packed_sint32 (0));
706
+ EXPECT_EQ(606 , message.packed_sint64 (0));
707
+ EXPECT_EQ(607 , message.packed_fixed32 (0));
708
+ EXPECT_EQ(608 , message.packed_fixed64 (0));
709
+ EXPECT_EQ(609 , message.packed_sfixed32(0));
710
+ EXPECT_EQ(610 , message.packed_sfixed64(0));
711
+ EXPECT_EQ(611 , message.packed_float (0));
712
+ EXPECT_EQ(612 , message.packed_double (0));
713
+ EXPECT_EQ(true , message.packed_bool (0));
714
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAR, message.packed_enum(0));
715
+
716
+ EXPECT_EQ(701 , message.packed_int32 (1));
717
+ EXPECT_EQ(702 , message.packed_int64 (1));
718
+ EXPECT_EQ(703 , message.packed_uint32 (1));
719
+ EXPECT_EQ(704 , message.packed_uint64 (1));
720
+ EXPECT_EQ(705 , message.packed_sint32 (1));
721
+ EXPECT_EQ(706 , message.packed_sint64 (1));
722
+ EXPECT_EQ(707 , message.packed_fixed32 (1));
723
+ EXPECT_EQ(708 , message.packed_fixed64 (1));
724
+ EXPECT_EQ(709 , message.packed_sfixed32(1));
725
+ EXPECT_EQ(710 , message.packed_sfixed64(1));
726
+ EXPECT_EQ(711 , message.packed_float (1));
727
+ EXPECT_EQ(712 , message.packed_double (1));
728
+ EXPECT_EQ(false, message.packed_bool (1));
729
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAZ, message.packed_enum(1));
730
+ }
731
+
732
+ // -------------------------------------------------------------------
733
+
734
+ void TestUtilLite::ExpectPackedClear(
735
+ const unittest::TestPackedTypesLite& message) {
736
+ // Packed repeated fields are empty.
737
+ EXPECT_EQ(0, message.packed_int32_size ());
738
+ EXPECT_EQ(0, message.packed_int64_size ());
739
+ EXPECT_EQ(0, message.packed_uint32_size ());
740
+ EXPECT_EQ(0, message.packed_uint64_size ());
741
+ EXPECT_EQ(0, message.packed_sint32_size ());
742
+ EXPECT_EQ(0, message.packed_sint64_size ());
743
+ EXPECT_EQ(0, message.packed_fixed32_size ());
744
+ EXPECT_EQ(0, message.packed_fixed64_size ());
745
+ EXPECT_EQ(0, message.packed_sfixed32_size());
746
+ EXPECT_EQ(0, message.packed_sfixed64_size());
747
+ EXPECT_EQ(0, message.packed_float_size ());
748
+ EXPECT_EQ(0, message.packed_double_size ());
749
+ EXPECT_EQ(0, message.packed_bool_size ());
750
+ EXPECT_EQ(0, message.packed_enum_size ());
751
+ }
752
+
753
+ // -------------------------------------------------------------------
754
+
755
+ void TestUtilLite::ExpectPackedFieldsModified(
756
+ const unittest::TestPackedTypesLite& message) {
757
+ // Do the same for packed repeated fields.
758
+ ASSERT_EQ(2, message.packed_int32_size ());
759
+ ASSERT_EQ(2, message.packed_int64_size ());
760
+ ASSERT_EQ(2, message.packed_uint32_size ());
761
+ ASSERT_EQ(2, message.packed_uint64_size ());
762
+ ASSERT_EQ(2, message.packed_sint32_size ());
763
+ ASSERT_EQ(2, message.packed_sint64_size ());
764
+ ASSERT_EQ(2, message.packed_fixed32_size ());
765
+ ASSERT_EQ(2, message.packed_fixed64_size ());
766
+ ASSERT_EQ(2, message.packed_sfixed32_size());
767
+ ASSERT_EQ(2, message.packed_sfixed64_size());
768
+ ASSERT_EQ(2, message.packed_float_size ());
769
+ ASSERT_EQ(2, message.packed_double_size ());
770
+ ASSERT_EQ(2, message.packed_bool_size ());
771
+ ASSERT_EQ(2, message.packed_enum_size ());
772
+
773
+ EXPECT_EQ(601 , message.packed_int32 (0));
774
+ EXPECT_EQ(602 , message.packed_int64 (0));
775
+ EXPECT_EQ(603 , message.packed_uint32 (0));
776
+ EXPECT_EQ(604 , message.packed_uint64 (0));
777
+ EXPECT_EQ(605 , message.packed_sint32 (0));
778
+ EXPECT_EQ(606 , message.packed_sint64 (0));
779
+ EXPECT_EQ(607 , message.packed_fixed32 (0));
780
+ EXPECT_EQ(608 , message.packed_fixed64 (0));
781
+ EXPECT_EQ(609 , message.packed_sfixed32(0));
782
+ EXPECT_EQ(610 , message.packed_sfixed64(0));
783
+ EXPECT_EQ(611 , message.packed_float (0));
784
+ EXPECT_EQ(612 , message.packed_double (0));
785
+ EXPECT_EQ(true , message.packed_bool (0));
786
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAR, message.packed_enum(0));
787
+ // Actually verify the second (modified) elements now.
788
+ EXPECT_EQ(801 , message.packed_int32 (1));
789
+ EXPECT_EQ(802 , message.packed_int64 (1));
790
+ EXPECT_EQ(803 , message.packed_uint32 (1));
791
+ EXPECT_EQ(804 , message.packed_uint64 (1));
792
+ EXPECT_EQ(805 , message.packed_sint32 (1));
793
+ EXPECT_EQ(806 , message.packed_sint64 (1));
794
+ EXPECT_EQ(807 , message.packed_fixed32 (1));
795
+ EXPECT_EQ(808 , message.packed_fixed64 (1));
796
+ EXPECT_EQ(809 , message.packed_sfixed32(1));
797
+ EXPECT_EQ(810 , message.packed_sfixed64(1));
798
+ EXPECT_EQ(811 , message.packed_float (1));
799
+ EXPECT_EQ(812 , message.packed_double (1));
800
+ EXPECT_EQ(true , message.packed_bool (1));
801
+ EXPECT_EQ(unittest::FOREIGN_LITE_FOO, message.packed_enum(1));
802
+ }
803
+
804
+ // ===================================================================
805
+ // Extensions
806
+ //
807
+ // All this code is exactly equivalent to the above code except that it's
808
+ // manipulating extension fields instead of normal ones.
809
+ //
810
+ // I gave up on the 80-char limit here. Sorry.
811
+
812
+ void TestUtilLite::SetAllExtensions(unittest::TestAllExtensionsLite* message) {
813
+ message->SetExtension(unittest::optional_int32_extension_lite , 101);
814
+ message->SetExtension(unittest::optional_int64_extension_lite , 102);
815
+ message->SetExtension(unittest::optional_uint32_extension_lite , 103);
816
+ message->SetExtension(unittest::optional_uint64_extension_lite , 104);
817
+ message->SetExtension(unittest::optional_sint32_extension_lite , 105);
818
+ message->SetExtension(unittest::optional_sint64_extension_lite , 106);
819
+ message->SetExtension(unittest::optional_fixed32_extension_lite , 107);
820
+ message->SetExtension(unittest::optional_fixed64_extension_lite , 108);
821
+ message->SetExtension(unittest::optional_sfixed32_extension_lite, 109);
822
+ message->SetExtension(unittest::optional_sfixed64_extension_lite, 110);
823
+ message->SetExtension(unittest::optional_float_extension_lite , 111);
824
+ message->SetExtension(unittest::optional_double_extension_lite , 112);
825
+ message->SetExtension(unittest::optional_bool_extension_lite , true);
826
+ message->SetExtension(unittest::optional_string_extension_lite , "115");
827
+ message->SetExtension(unittest::optional_bytes_extension_lite , "116");
828
+
829
+ message->MutableExtension(unittest::optionalgroup_extension_lite )->set_a(117);
830
+ message->MutableExtension(unittest::optional_nested_message_extension_lite )->set_bb(118);
831
+ message->MutableExtension(unittest::optional_foreign_message_extension_lite )->set_c(119);
832
+ message->MutableExtension(unittest::optional_import_message_extension_lite )->set_d(120);
833
+ message->MutableExtension(unittest::optional_public_import_message_extension_lite)->set_e(126);
834
+ message->MutableExtension(unittest::optional_lazy_message_extension_lite )->set_bb(127);
835
+
836
+ message->SetExtension(unittest::optional_nested_enum_extension_lite , unittest::TestAllTypesLite::BAZ );
837
+ message->SetExtension(unittest::optional_foreign_enum_extension_lite, unittest::FOREIGN_LITE_BAZ );
838
+ message->SetExtension(unittest::optional_import_enum_extension_lite , unittest_import::IMPORT_LITE_BAZ);
839
+
840
+
841
+ // -----------------------------------------------------------------
842
+
843
+ message->AddExtension(unittest::repeated_int32_extension_lite , 201);
844
+ message->AddExtension(unittest::repeated_int64_extension_lite , 202);
845
+ message->AddExtension(unittest::repeated_uint32_extension_lite , 203);
846
+ message->AddExtension(unittest::repeated_uint64_extension_lite , 204);
847
+ message->AddExtension(unittest::repeated_sint32_extension_lite , 205);
848
+ message->AddExtension(unittest::repeated_sint64_extension_lite , 206);
849
+ message->AddExtension(unittest::repeated_fixed32_extension_lite , 207);
850
+ message->AddExtension(unittest::repeated_fixed64_extension_lite , 208);
851
+ message->AddExtension(unittest::repeated_sfixed32_extension_lite, 209);
852
+ message->AddExtension(unittest::repeated_sfixed64_extension_lite, 210);
853
+ message->AddExtension(unittest::repeated_float_extension_lite , 211);
854
+ message->AddExtension(unittest::repeated_double_extension_lite , 212);
855
+ message->AddExtension(unittest::repeated_bool_extension_lite , true);
856
+ message->AddExtension(unittest::repeated_string_extension_lite , "215");
857
+ message->AddExtension(unittest::repeated_bytes_extension_lite , "216");
858
+
859
+ message->AddExtension(unittest::repeatedgroup_extension_lite )->set_a(217);
860
+ message->AddExtension(unittest::repeated_nested_message_extension_lite )->set_bb(218);
861
+ message->AddExtension(unittest::repeated_foreign_message_extension_lite)->set_c(219);
862
+ message->AddExtension(unittest::repeated_import_message_extension_lite )->set_d(220);
863
+ message->AddExtension(unittest::repeated_lazy_message_extension_lite )->set_bb(227);
864
+
865
+ message->AddExtension(unittest::repeated_nested_enum_extension_lite , unittest::TestAllTypesLite::BAR );
866
+ message->AddExtension(unittest::repeated_foreign_enum_extension_lite, unittest::FOREIGN_LITE_BAR );
867
+ message->AddExtension(unittest::repeated_import_enum_extension_lite , unittest_import::IMPORT_LITE_BAR);
868
+
869
+
870
+ // Add a second one of each field.
871
+ message->AddExtension(unittest::repeated_int32_extension_lite , 301);
872
+ message->AddExtension(unittest::repeated_int64_extension_lite , 302);
873
+ message->AddExtension(unittest::repeated_uint32_extension_lite , 303);
874
+ message->AddExtension(unittest::repeated_uint64_extension_lite , 304);
875
+ message->AddExtension(unittest::repeated_sint32_extension_lite , 305);
876
+ message->AddExtension(unittest::repeated_sint64_extension_lite , 306);
877
+ message->AddExtension(unittest::repeated_fixed32_extension_lite , 307);
878
+ message->AddExtension(unittest::repeated_fixed64_extension_lite , 308);
879
+ message->AddExtension(unittest::repeated_sfixed32_extension_lite, 309);
880
+ message->AddExtension(unittest::repeated_sfixed64_extension_lite, 310);
881
+ message->AddExtension(unittest::repeated_float_extension_lite , 311);
882
+ message->AddExtension(unittest::repeated_double_extension_lite , 312);
883
+ message->AddExtension(unittest::repeated_bool_extension_lite , false);
884
+ message->AddExtension(unittest::repeated_string_extension_lite , "315");
885
+ message->AddExtension(unittest::repeated_bytes_extension_lite , "316");
886
+
887
+ message->AddExtension(unittest::repeatedgroup_extension_lite )->set_a(317);
888
+ message->AddExtension(unittest::repeated_nested_message_extension_lite )->set_bb(318);
889
+ message->AddExtension(unittest::repeated_foreign_message_extension_lite)->set_c(319);
890
+ message->AddExtension(unittest::repeated_import_message_extension_lite )->set_d(320);
891
+ message->AddExtension(unittest::repeated_lazy_message_extension_lite )->set_bb(327);
892
+
893
+ message->AddExtension(unittest::repeated_nested_enum_extension_lite , unittest::TestAllTypesLite::BAZ );
894
+ message->AddExtension(unittest::repeated_foreign_enum_extension_lite, unittest::FOREIGN_LITE_BAZ );
895
+ message->AddExtension(unittest::repeated_import_enum_extension_lite , unittest_import::IMPORT_LITE_BAZ);
896
+
897
+
898
+ // -----------------------------------------------------------------
899
+
900
+ message->SetExtension(unittest::default_int32_extension_lite , 401);
901
+ message->SetExtension(unittest::default_int64_extension_lite , 402);
902
+ message->SetExtension(unittest::default_uint32_extension_lite , 403);
903
+ message->SetExtension(unittest::default_uint64_extension_lite , 404);
904
+ message->SetExtension(unittest::default_sint32_extension_lite , 405);
905
+ message->SetExtension(unittest::default_sint64_extension_lite , 406);
906
+ message->SetExtension(unittest::default_fixed32_extension_lite , 407);
907
+ message->SetExtension(unittest::default_fixed64_extension_lite , 408);
908
+ message->SetExtension(unittest::default_sfixed32_extension_lite, 409);
909
+ message->SetExtension(unittest::default_sfixed64_extension_lite, 410);
910
+ message->SetExtension(unittest::default_float_extension_lite , 411);
911
+ message->SetExtension(unittest::default_double_extension_lite , 412);
912
+ message->SetExtension(unittest::default_bool_extension_lite , false);
913
+ message->SetExtension(unittest::default_string_extension_lite , "415");
914
+ message->SetExtension(unittest::default_bytes_extension_lite , "416");
915
+
916
+ message->SetExtension(unittest::default_nested_enum_extension_lite , unittest::TestAllTypesLite::FOO );
917
+ message->SetExtension(unittest::default_foreign_enum_extension_lite, unittest::FOREIGN_LITE_FOO );
918
+ message->SetExtension(unittest::default_import_enum_extension_lite , unittest_import::IMPORT_LITE_FOO);
919
+
920
+
921
+ message->SetExtension(unittest::oneof_uint32_extension_lite, 601);
922
+ message->MutableExtension(unittest::oneof_nested_message_extension_lite)->set_bb(602);;
923
+ message->SetExtension(unittest::oneof_string_extension_lite, "603");
924
+ message->SetExtension(unittest::oneof_bytes_extension_lite, "604");
925
+ }
926
+
927
+ // -------------------------------------------------------------------
928
+
929
+ void TestUtilLite::ModifyRepeatedExtensions(
930
+ unittest::TestAllExtensionsLite* message) {
931
+ message->SetExtension(unittest::repeated_int32_extension_lite , 1, 501);
932
+ message->SetExtension(unittest::repeated_int64_extension_lite , 1, 502);
933
+ message->SetExtension(unittest::repeated_uint32_extension_lite , 1, 503);
934
+ message->SetExtension(unittest::repeated_uint64_extension_lite , 1, 504);
935
+ message->SetExtension(unittest::repeated_sint32_extension_lite , 1, 505);
936
+ message->SetExtension(unittest::repeated_sint64_extension_lite , 1, 506);
937
+ message->SetExtension(unittest::repeated_fixed32_extension_lite , 1, 507);
938
+ message->SetExtension(unittest::repeated_fixed64_extension_lite , 1, 508);
939
+ message->SetExtension(unittest::repeated_sfixed32_extension_lite, 1, 509);
940
+ message->SetExtension(unittest::repeated_sfixed64_extension_lite, 1, 510);
941
+ message->SetExtension(unittest::repeated_float_extension_lite , 1, 511);
942
+ message->SetExtension(unittest::repeated_double_extension_lite , 1, 512);
943
+ message->SetExtension(unittest::repeated_bool_extension_lite , 1, true);
944
+ message->SetExtension(unittest::repeated_string_extension_lite , 1, "515");
945
+ message->SetExtension(unittest::repeated_bytes_extension_lite , 1, "516");
946
+
947
+ message->MutableExtension(unittest::repeatedgroup_extension_lite , 1)->set_a(517);
948
+ message->MutableExtension(unittest::repeated_nested_message_extension_lite , 1)->set_bb(518);
949
+ message->MutableExtension(unittest::repeated_foreign_message_extension_lite, 1)->set_c(519);
950
+ message->MutableExtension(unittest::repeated_import_message_extension_lite , 1)->set_d(520);
951
+ message->MutableExtension(unittest::repeated_lazy_message_extension_lite , 1)->set_bb(527);
952
+
953
+ message->SetExtension(unittest::repeated_nested_enum_extension_lite , 1, unittest::TestAllTypesLite::FOO );
954
+ message->SetExtension(unittest::repeated_foreign_enum_extension_lite, 1, unittest::FOREIGN_LITE_FOO );
955
+ message->SetExtension(unittest::repeated_import_enum_extension_lite , 1, unittest_import::IMPORT_LITE_FOO);
956
+
957
+ }
958
+
959
+ // -------------------------------------------------------------------
960
+
961
+ void TestUtilLite::ExpectAllExtensionsSet(
962
+ const unittest::TestAllExtensionsLite& message) {
963
+ EXPECT_TRUE(message.HasExtension(unittest::optional_int32_extension_lite ));
964
+ EXPECT_TRUE(message.HasExtension(unittest::optional_int64_extension_lite ));
965
+ EXPECT_TRUE(message.HasExtension(unittest::optional_uint32_extension_lite ));
966
+ EXPECT_TRUE(message.HasExtension(unittest::optional_uint64_extension_lite ));
967
+ EXPECT_TRUE(message.HasExtension(unittest::optional_sint32_extension_lite ));
968
+ EXPECT_TRUE(message.HasExtension(unittest::optional_sint64_extension_lite ));
969
+ EXPECT_TRUE(message.HasExtension(unittest::optional_fixed32_extension_lite ));
970
+ EXPECT_TRUE(message.HasExtension(unittest::optional_fixed64_extension_lite ));
971
+ EXPECT_TRUE(message.HasExtension(unittest::optional_sfixed32_extension_lite));
972
+ EXPECT_TRUE(message.HasExtension(unittest::optional_sfixed64_extension_lite));
973
+ EXPECT_TRUE(message.HasExtension(unittest::optional_float_extension_lite ));
974
+ EXPECT_TRUE(message.HasExtension(unittest::optional_double_extension_lite ));
975
+ EXPECT_TRUE(message.HasExtension(unittest::optional_bool_extension_lite ));
976
+ EXPECT_TRUE(message.HasExtension(unittest::optional_string_extension_lite ));
977
+ EXPECT_TRUE(message.HasExtension(unittest::optional_bytes_extension_lite ));
978
+
979
+ EXPECT_TRUE(message.HasExtension(unittest::optionalgroup_extension_lite ));
980
+ EXPECT_TRUE(message.HasExtension(unittest::optional_nested_message_extension_lite ));
981
+ EXPECT_TRUE(message.HasExtension(unittest::optional_foreign_message_extension_lite ));
982
+ EXPECT_TRUE(message.HasExtension(unittest::optional_import_message_extension_lite ));
983
+ EXPECT_TRUE(message.HasExtension(unittest::optional_public_import_message_extension_lite));
984
+ EXPECT_TRUE(message.HasExtension(unittest::optional_lazy_message_extension_lite ));
985
+
986
+ EXPECT_TRUE(message.GetExtension(unittest::optionalgroup_extension_lite ).has_a());
987
+ EXPECT_TRUE(message.GetExtension(unittest::optional_nested_message_extension_lite ).has_bb());
988
+ EXPECT_TRUE(message.GetExtension(unittest::optional_foreign_message_extension_lite ).has_c());
989
+ EXPECT_TRUE(message.GetExtension(unittest::optional_import_message_extension_lite ).has_d());
990
+ EXPECT_TRUE(message.GetExtension(unittest::optional_public_import_message_extension_lite).has_e());
991
+ EXPECT_TRUE(message.GetExtension(unittest::optional_lazy_message_extension_lite ).has_bb());
992
+
993
+ EXPECT_TRUE(message.HasExtension(unittest::optional_nested_enum_extension_lite ));
994
+ EXPECT_TRUE(message.HasExtension(unittest::optional_foreign_enum_extension_lite));
995
+ EXPECT_TRUE(message.HasExtension(unittest::optional_import_enum_extension_lite ));
996
+
997
+
998
+ EXPECT_EQ(101 , message.GetExtension(unittest::optional_int32_extension_lite ));
999
+ EXPECT_EQ(102 , message.GetExtension(unittest::optional_int64_extension_lite ));
1000
+ EXPECT_EQ(103 , message.GetExtension(unittest::optional_uint32_extension_lite ));
1001
+ EXPECT_EQ(104 , message.GetExtension(unittest::optional_uint64_extension_lite ));
1002
+ EXPECT_EQ(105 , message.GetExtension(unittest::optional_sint32_extension_lite ));
1003
+ EXPECT_EQ(106 , message.GetExtension(unittest::optional_sint64_extension_lite ));
1004
+ EXPECT_EQ(107 , message.GetExtension(unittest::optional_fixed32_extension_lite ));
1005
+ EXPECT_EQ(108 , message.GetExtension(unittest::optional_fixed64_extension_lite ));
1006
+ EXPECT_EQ(109 , message.GetExtension(unittest::optional_sfixed32_extension_lite));
1007
+ EXPECT_EQ(110 , message.GetExtension(unittest::optional_sfixed64_extension_lite));
1008
+ EXPECT_EQ(111 , message.GetExtension(unittest::optional_float_extension_lite ));
1009
+ EXPECT_EQ(112 , message.GetExtension(unittest::optional_double_extension_lite ));
1010
+ EXPECT_EQ(true , message.GetExtension(unittest::optional_bool_extension_lite ));
1011
+ EXPECT_EQ("115", message.GetExtension(unittest::optional_string_extension_lite ));
1012
+ EXPECT_EQ("116", message.GetExtension(unittest::optional_bytes_extension_lite ));
1013
+
1014
+ EXPECT_EQ(117, message.GetExtension(unittest::optionalgroup_extension_lite ).a());
1015
+ EXPECT_EQ(118, message.GetExtension(unittest::optional_nested_message_extension_lite ).bb());
1016
+ EXPECT_EQ(119, message.GetExtension(unittest::optional_foreign_message_extension_lite ).c());
1017
+ EXPECT_EQ(120, message.GetExtension(unittest::optional_import_message_extension_lite ).d());
1018
+ EXPECT_EQ(126, message.GetExtension(unittest::optional_public_import_message_extension_lite).e());
1019
+ EXPECT_EQ(127, message.GetExtension(unittest::optional_lazy_message_extension_lite ).bb());
1020
+
1021
+ EXPECT_EQ(unittest::TestAllTypesLite::BAZ , message.GetExtension(unittest::optional_nested_enum_extension_lite ));
1022
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAZ , message.GetExtension(unittest::optional_foreign_enum_extension_lite));
1023
+ EXPECT_EQ(unittest_import::IMPORT_LITE_BAZ, message.GetExtension(unittest::optional_import_enum_extension_lite ));
1024
+
1025
+
1026
+ // -----------------------------------------------------------------
1027
+
1028
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int32_extension_lite ));
1029
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int64_extension_lite ));
1030
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint32_extension_lite ));
1031
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint64_extension_lite ));
1032
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint32_extension_lite ));
1033
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint64_extension_lite ));
1034
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed32_extension_lite ));
1035
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed64_extension_lite ));
1036
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed32_extension_lite));
1037
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed64_extension_lite));
1038
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_float_extension_lite ));
1039
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_double_extension_lite ));
1040
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bool_extension_lite ));
1041
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_extension_lite ));
1042
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bytes_extension_lite ));
1043
+
1044
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeatedgroup_extension_lite ));
1045
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_message_extension_lite ));
1046
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_message_extension_lite));
1047
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_message_extension_lite ));
1048
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_lazy_message_extension_lite ));
1049
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_enum_extension_lite ));
1050
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_enum_extension_lite ));
1051
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_enum_extension_lite ));
1052
+
1053
+
1054
+ EXPECT_EQ(201 , message.GetExtension(unittest::repeated_int32_extension_lite , 0));
1055
+ EXPECT_EQ(202 , message.GetExtension(unittest::repeated_int64_extension_lite , 0));
1056
+ EXPECT_EQ(203 , message.GetExtension(unittest::repeated_uint32_extension_lite , 0));
1057
+ EXPECT_EQ(204 , message.GetExtension(unittest::repeated_uint64_extension_lite , 0));
1058
+ EXPECT_EQ(205 , message.GetExtension(unittest::repeated_sint32_extension_lite , 0));
1059
+ EXPECT_EQ(206 , message.GetExtension(unittest::repeated_sint64_extension_lite , 0));
1060
+ EXPECT_EQ(207 , message.GetExtension(unittest::repeated_fixed32_extension_lite , 0));
1061
+ EXPECT_EQ(208 , message.GetExtension(unittest::repeated_fixed64_extension_lite , 0));
1062
+ EXPECT_EQ(209 , message.GetExtension(unittest::repeated_sfixed32_extension_lite, 0));
1063
+ EXPECT_EQ(210 , message.GetExtension(unittest::repeated_sfixed64_extension_lite, 0));
1064
+ EXPECT_EQ(211 , message.GetExtension(unittest::repeated_float_extension_lite , 0));
1065
+ EXPECT_EQ(212 , message.GetExtension(unittest::repeated_double_extension_lite , 0));
1066
+ EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension_lite , 0));
1067
+ EXPECT_EQ("215", message.GetExtension(unittest::repeated_string_extension_lite , 0));
1068
+ EXPECT_EQ("216", message.GetExtension(unittest::repeated_bytes_extension_lite , 0));
1069
+
1070
+ EXPECT_EQ(217, message.GetExtension(unittest::repeatedgroup_extension_lite , 0).a());
1071
+ EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension_lite , 0).bb());
1072
+ EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension_lite, 0).c());
1073
+ EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension_lite , 0).d());
1074
+ EXPECT_EQ(227, message.GetExtension(unittest::repeated_lazy_message_extension_lite , 0).bb());
1075
+
1076
+ EXPECT_EQ(unittest::TestAllTypesLite::BAR , message.GetExtension(unittest::repeated_nested_enum_extension_lite , 0));
1077
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension_lite, 0));
1078
+ EXPECT_EQ(unittest_import::IMPORT_LITE_BAR, message.GetExtension(unittest::repeated_import_enum_extension_lite , 0));
1079
+
1080
+
1081
+ EXPECT_EQ(301 , message.GetExtension(unittest::repeated_int32_extension_lite , 1));
1082
+ EXPECT_EQ(302 , message.GetExtension(unittest::repeated_int64_extension_lite , 1));
1083
+ EXPECT_EQ(303 , message.GetExtension(unittest::repeated_uint32_extension_lite , 1));
1084
+ EXPECT_EQ(304 , message.GetExtension(unittest::repeated_uint64_extension_lite , 1));
1085
+ EXPECT_EQ(305 , message.GetExtension(unittest::repeated_sint32_extension_lite , 1));
1086
+ EXPECT_EQ(306 , message.GetExtension(unittest::repeated_sint64_extension_lite , 1));
1087
+ EXPECT_EQ(307 , message.GetExtension(unittest::repeated_fixed32_extension_lite , 1));
1088
+ EXPECT_EQ(308 , message.GetExtension(unittest::repeated_fixed64_extension_lite , 1));
1089
+ EXPECT_EQ(309 , message.GetExtension(unittest::repeated_sfixed32_extension_lite, 1));
1090
+ EXPECT_EQ(310 , message.GetExtension(unittest::repeated_sfixed64_extension_lite, 1));
1091
+ EXPECT_EQ(311 , message.GetExtension(unittest::repeated_float_extension_lite , 1));
1092
+ EXPECT_EQ(312 , message.GetExtension(unittest::repeated_double_extension_lite , 1));
1093
+ EXPECT_EQ(false, message.GetExtension(unittest::repeated_bool_extension_lite , 1));
1094
+ EXPECT_EQ("315", message.GetExtension(unittest::repeated_string_extension_lite , 1));
1095
+ EXPECT_EQ("316", message.GetExtension(unittest::repeated_bytes_extension_lite , 1));
1096
+
1097
+ EXPECT_EQ(317, message.GetExtension(unittest::repeatedgroup_extension_lite , 1).a());
1098
+ EXPECT_EQ(318, message.GetExtension(unittest::repeated_nested_message_extension_lite , 1).bb());
1099
+ EXPECT_EQ(319, message.GetExtension(unittest::repeated_foreign_message_extension_lite, 1).c());
1100
+ EXPECT_EQ(320, message.GetExtension(unittest::repeated_import_message_extension_lite , 1).d());
1101
+ EXPECT_EQ(327, message.GetExtension(unittest::repeated_lazy_message_extension_lite , 1).bb());
1102
+
1103
+ EXPECT_EQ(unittest::TestAllTypesLite::BAZ , message.GetExtension(unittest::repeated_nested_enum_extension_lite , 1));
1104
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAZ , message.GetExtension(unittest::repeated_foreign_enum_extension_lite, 1));
1105
+ EXPECT_EQ(unittest_import::IMPORT_LITE_BAZ, message.GetExtension(unittest::repeated_import_enum_extension_lite , 1));
1106
+
1107
+
1108
+ // -----------------------------------------------------------------
1109
+
1110
+ EXPECT_TRUE(message.HasExtension(unittest::default_int32_extension_lite ));
1111
+ EXPECT_TRUE(message.HasExtension(unittest::default_int64_extension_lite ));
1112
+ EXPECT_TRUE(message.HasExtension(unittest::default_uint32_extension_lite ));
1113
+ EXPECT_TRUE(message.HasExtension(unittest::default_uint64_extension_lite ));
1114
+ EXPECT_TRUE(message.HasExtension(unittest::default_sint32_extension_lite ));
1115
+ EXPECT_TRUE(message.HasExtension(unittest::default_sint64_extension_lite ));
1116
+ EXPECT_TRUE(message.HasExtension(unittest::default_fixed32_extension_lite ));
1117
+ EXPECT_TRUE(message.HasExtension(unittest::default_fixed64_extension_lite ));
1118
+ EXPECT_TRUE(message.HasExtension(unittest::default_sfixed32_extension_lite));
1119
+ EXPECT_TRUE(message.HasExtension(unittest::default_sfixed64_extension_lite));
1120
+ EXPECT_TRUE(message.HasExtension(unittest::default_float_extension_lite ));
1121
+ EXPECT_TRUE(message.HasExtension(unittest::default_double_extension_lite ));
1122
+ EXPECT_TRUE(message.HasExtension(unittest::default_bool_extension_lite ));
1123
+ EXPECT_TRUE(message.HasExtension(unittest::default_string_extension_lite ));
1124
+ EXPECT_TRUE(message.HasExtension(unittest::default_bytes_extension_lite ));
1125
+
1126
+ EXPECT_TRUE(message.HasExtension(unittest::default_nested_enum_extension_lite ));
1127
+ EXPECT_TRUE(message.HasExtension(unittest::default_foreign_enum_extension_lite));
1128
+ EXPECT_TRUE(message.HasExtension(unittest::default_import_enum_extension_lite ));
1129
+
1130
+
1131
+ EXPECT_EQ(401 , message.GetExtension(unittest::default_int32_extension_lite ));
1132
+ EXPECT_EQ(402 , message.GetExtension(unittest::default_int64_extension_lite ));
1133
+ EXPECT_EQ(403 , message.GetExtension(unittest::default_uint32_extension_lite ));
1134
+ EXPECT_EQ(404 , message.GetExtension(unittest::default_uint64_extension_lite ));
1135
+ EXPECT_EQ(405 , message.GetExtension(unittest::default_sint32_extension_lite ));
1136
+ EXPECT_EQ(406 , message.GetExtension(unittest::default_sint64_extension_lite ));
1137
+ EXPECT_EQ(407 , message.GetExtension(unittest::default_fixed32_extension_lite ));
1138
+ EXPECT_EQ(408 , message.GetExtension(unittest::default_fixed64_extension_lite ));
1139
+ EXPECT_EQ(409 , message.GetExtension(unittest::default_sfixed32_extension_lite));
1140
+ EXPECT_EQ(410 , message.GetExtension(unittest::default_sfixed64_extension_lite));
1141
+ EXPECT_EQ(411 , message.GetExtension(unittest::default_float_extension_lite ));
1142
+ EXPECT_EQ(412 , message.GetExtension(unittest::default_double_extension_lite ));
1143
+ EXPECT_EQ(false, message.GetExtension(unittest::default_bool_extension_lite ));
1144
+ EXPECT_EQ("415", message.GetExtension(unittest::default_string_extension_lite ));
1145
+ EXPECT_EQ("416", message.GetExtension(unittest::default_bytes_extension_lite ));
1146
+
1147
+ EXPECT_EQ(unittest::TestAllTypesLite::FOO , message.GetExtension(unittest::default_nested_enum_extension_lite ));
1148
+ EXPECT_EQ(unittest::FOREIGN_LITE_FOO , message.GetExtension(unittest::default_foreign_enum_extension_lite));
1149
+ EXPECT_EQ(unittest_import::IMPORT_LITE_FOO, message.GetExtension(unittest::default_import_enum_extension_lite ));
1150
+
1151
+
1152
+ EXPECT_TRUE(message.HasExtension(unittest::oneof_uint32_extension_lite));
1153
+ EXPECT_TRUE(message.GetExtension(unittest::oneof_nested_message_extension_lite).has_bb());
1154
+ EXPECT_TRUE(message.HasExtension(unittest::oneof_string_extension_lite));
1155
+ EXPECT_TRUE(message.HasExtension(unittest::oneof_bytes_extension_lite));
1156
+
1157
+ EXPECT_EQ(601, message.GetExtension(unittest::oneof_uint32_extension_lite));
1158
+ EXPECT_EQ(602, message.GetExtension(unittest::oneof_nested_message_extension_lite).bb());
1159
+ EXPECT_EQ("603", message.GetExtension(unittest::oneof_string_extension_lite));
1160
+ EXPECT_EQ("604", message.GetExtension(unittest::oneof_bytes_extension_lite));
1161
+ }
1162
+
1163
+ // -------------------------------------------------------------------
1164
+
1165
+ void TestUtilLite::ExpectExtensionsClear(
1166
+ const unittest::TestAllExtensionsLite& message) {
1167
+ string serialized;
1168
+ ASSERT_TRUE(message.SerializeToString(&serialized));
1169
+ EXPECT_EQ("", serialized);
1170
+ EXPECT_EQ(0, message.ByteSize());
1171
+
1172
+ // has_blah() should initially be false for all optional fields.
1173
+ EXPECT_FALSE(message.HasExtension(unittest::optional_int32_extension_lite ));
1174
+ EXPECT_FALSE(message.HasExtension(unittest::optional_int64_extension_lite ));
1175
+ EXPECT_FALSE(message.HasExtension(unittest::optional_uint32_extension_lite ));
1176
+ EXPECT_FALSE(message.HasExtension(unittest::optional_uint64_extension_lite ));
1177
+ EXPECT_FALSE(message.HasExtension(unittest::optional_sint32_extension_lite ));
1178
+ EXPECT_FALSE(message.HasExtension(unittest::optional_sint64_extension_lite ));
1179
+ EXPECT_FALSE(message.HasExtension(unittest::optional_fixed32_extension_lite ));
1180
+ EXPECT_FALSE(message.HasExtension(unittest::optional_fixed64_extension_lite ));
1181
+ EXPECT_FALSE(message.HasExtension(unittest::optional_sfixed32_extension_lite));
1182
+ EXPECT_FALSE(message.HasExtension(unittest::optional_sfixed64_extension_lite));
1183
+ EXPECT_FALSE(message.HasExtension(unittest::optional_float_extension_lite ));
1184
+ EXPECT_FALSE(message.HasExtension(unittest::optional_double_extension_lite ));
1185
+ EXPECT_FALSE(message.HasExtension(unittest::optional_bool_extension_lite ));
1186
+ EXPECT_FALSE(message.HasExtension(unittest::optional_string_extension_lite ));
1187
+ EXPECT_FALSE(message.HasExtension(unittest::optional_bytes_extension_lite ));
1188
+
1189
+ EXPECT_FALSE(message.HasExtension(unittest::optionalgroup_extension_lite ));
1190
+ EXPECT_FALSE(message.HasExtension(unittest::optional_nested_message_extension_lite ));
1191
+ EXPECT_FALSE(message.HasExtension(unittest::optional_foreign_message_extension_lite ));
1192
+ EXPECT_FALSE(message.HasExtension(unittest::optional_import_message_extension_lite ));
1193
+ EXPECT_FALSE(message.HasExtension(unittest::optional_public_import_message_extension_lite));
1194
+ EXPECT_FALSE(message.HasExtension(unittest::optional_lazy_message_extension_lite ));
1195
+
1196
+ EXPECT_FALSE(message.HasExtension(unittest::optional_nested_enum_extension_lite ));
1197
+ EXPECT_FALSE(message.HasExtension(unittest::optional_foreign_enum_extension_lite));
1198
+ EXPECT_FALSE(message.HasExtension(unittest::optional_import_enum_extension_lite ));
1199
+
1200
+
1201
+ // Optional fields without defaults are set to zero or something like it.
1202
+ EXPECT_EQ(0 , message.GetExtension(unittest::optional_int32_extension_lite ));
1203
+ EXPECT_EQ(0 , message.GetExtension(unittest::optional_int64_extension_lite ));
1204
+ EXPECT_EQ(0 , message.GetExtension(unittest::optional_uint32_extension_lite ));
1205
+ EXPECT_EQ(0 , message.GetExtension(unittest::optional_uint64_extension_lite ));
1206
+ EXPECT_EQ(0 , message.GetExtension(unittest::optional_sint32_extension_lite ));
1207
+ EXPECT_EQ(0 , message.GetExtension(unittest::optional_sint64_extension_lite ));
1208
+ EXPECT_EQ(0 , message.GetExtension(unittest::optional_fixed32_extension_lite ));
1209
+ EXPECT_EQ(0 , message.GetExtension(unittest::optional_fixed64_extension_lite ));
1210
+ EXPECT_EQ(0 , message.GetExtension(unittest::optional_sfixed32_extension_lite));
1211
+ EXPECT_EQ(0 , message.GetExtension(unittest::optional_sfixed64_extension_lite));
1212
+ EXPECT_EQ(0 , message.GetExtension(unittest::optional_float_extension_lite ));
1213
+ EXPECT_EQ(0 , message.GetExtension(unittest::optional_double_extension_lite ));
1214
+ EXPECT_EQ(false, message.GetExtension(unittest::optional_bool_extension_lite ));
1215
+ EXPECT_EQ("" , message.GetExtension(unittest::optional_string_extension_lite ));
1216
+ EXPECT_EQ("" , message.GetExtension(unittest::optional_bytes_extension_lite ));
1217
+
1218
+ // Embedded messages should also be clear.
1219
+ EXPECT_FALSE(message.GetExtension(unittest::optionalgroup_extension_lite ).has_a());
1220
+ EXPECT_FALSE(message.GetExtension(unittest::optional_nested_message_extension_lite ).has_bb());
1221
+ EXPECT_FALSE(message.GetExtension(unittest::optional_foreign_message_extension_lite ).has_c());
1222
+ EXPECT_FALSE(message.GetExtension(unittest::optional_import_message_extension_lite ).has_d());
1223
+ EXPECT_FALSE(message.GetExtension(unittest::optional_public_import_message_extension_lite).has_e());
1224
+ EXPECT_FALSE(message.GetExtension(unittest::optional_lazy_message_extension_lite ).has_bb());
1225
+
1226
+ EXPECT_EQ(0, message.GetExtension(unittest::optionalgroup_extension_lite ).a());
1227
+ EXPECT_EQ(0, message.GetExtension(unittest::optional_nested_message_extension_lite ).bb());
1228
+ EXPECT_EQ(0, message.GetExtension(unittest::optional_foreign_message_extension_lite ).c());
1229
+ EXPECT_EQ(0, message.GetExtension(unittest::optional_import_message_extension_lite ).d());
1230
+ EXPECT_EQ(0, message.GetExtension(unittest::optional_public_import_message_extension_lite).e());
1231
+ EXPECT_EQ(0, message.GetExtension(unittest::optional_lazy_message_extension_lite ).bb());
1232
+
1233
+ // Enums without defaults are set to the first value in the enum.
1234
+ EXPECT_EQ(unittest::TestAllTypesLite::FOO , message.GetExtension(unittest::optional_nested_enum_extension_lite ));
1235
+ EXPECT_EQ(unittest::FOREIGN_LITE_FOO , message.GetExtension(unittest::optional_foreign_enum_extension_lite));
1236
+ EXPECT_EQ(unittest_import::IMPORT_LITE_FOO, message.GetExtension(unittest::optional_import_enum_extension_lite ));
1237
+
1238
+
1239
+ // Repeated fields are empty.
1240
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_int32_extension_lite ));
1241
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_int64_extension_lite ));
1242
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_uint32_extension_lite ));
1243
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_uint64_extension_lite ));
1244
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sint32_extension_lite ));
1245
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sint64_extension_lite ));
1246
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_fixed32_extension_lite ));
1247
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_fixed64_extension_lite ));
1248
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sfixed32_extension_lite));
1249
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_sfixed64_extension_lite));
1250
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_float_extension_lite ));
1251
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_double_extension_lite ));
1252
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_bool_extension_lite ));
1253
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_string_extension_lite ));
1254
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_bytes_extension_lite ));
1255
+
1256
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeatedgroup_extension_lite ));
1257
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_nested_message_extension_lite ));
1258
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_foreign_message_extension_lite));
1259
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_import_message_extension_lite ));
1260
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_lazy_message_extension_lite ));
1261
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_nested_enum_extension_lite ));
1262
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_foreign_enum_extension_lite ));
1263
+ EXPECT_EQ(0, message.ExtensionSize(unittest::repeated_import_enum_extension_lite ));
1264
+
1265
+
1266
+ // has_blah() should also be false for all default fields.
1267
+ EXPECT_FALSE(message.HasExtension(unittest::default_int32_extension_lite ));
1268
+ EXPECT_FALSE(message.HasExtension(unittest::default_int64_extension_lite ));
1269
+ EXPECT_FALSE(message.HasExtension(unittest::default_uint32_extension_lite ));
1270
+ EXPECT_FALSE(message.HasExtension(unittest::default_uint64_extension_lite ));
1271
+ EXPECT_FALSE(message.HasExtension(unittest::default_sint32_extension_lite ));
1272
+ EXPECT_FALSE(message.HasExtension(unittest::default_sint64_extension_lite ));
1273
+ EXPECT_FALSE(message.HasExtension(unittest::default_fixed32_extension_lite ));
1274
+ EXPECT_FALSE(message.HasExtension(unittest::default_fixed64_extension_lite ));
1275
+ EXPECT_FALSE(message.HasExtension(unittest::default_sfixed32_extension_lite));
1276
+ EXPECT_FALSE(message.HasExtension(unittest::default_sfixed64_extension_lite));
1277
+ EXPECT_FALSE(message.HasExtension(unittest::default_float_extension_lite ));
1278
+ EXPECT_FALSE(message.HasExtension(unittest::default_double_extension_lite ));
1279
+ EXPECT_FALSE(message.HasExtension(unittest::default_bool_extension_lite ));
1280
+ EXPECT_FALSE(message.HasExtension(unittest::default_string_extension_lite ));
1281
+ EXPECT_FALSE(message.HasExtension(unittest::default_bytes_extension_lite ));
1282
+
1283
+ EXPECT_FALSE(message.HasExtension(unittest::default_nested_enum_extension_lite ));
1284
+ EXPECT_FALSE(message.HasExtension(unittest::default_foreign_enum_extension_lite));
1285
+ EXPECT_FALSE(message.HasExtension(unittest::default_import_enum_extension_lite ));
1286
+
1287
+
1288
+ // Fields with defaults have their default values (duh).
1289
+ EXPECT_EQ( 41 , message.GetExtension(unittest::default_int32_extension_lite ));
1290
+ EXPECT_EQ( 42 , message.GetExtension(unittest::default_int64_extension_lite ));
1291
+ EXPECT_EQ( 43 , message.GetExtension(unittest::default_uint32_extension_lite ));
1292
+ EXPECT_EQ( 44 , message.GetExtension(unittest::default_uint64_extension_lite ));
1293
+ EXPECT_EQ(-45 , message.GetExtension(unittest::default_sint32_extension_lite ));
1294
+ EXPECT_EQ( 46 , message.GetExtension(unittest::default_sint64_extension_lite ));
1295
+ EXPECT_EQ( 47 , message.GetExtension(unittest::default_fixed32_extension_lite ));
1296
+ EXPECT_EQ( 48 , message.GetExtension(unittest::default_fixed64_extension_lite ));
1297
+ EXPECT_EQ( 49 , message.GetExtension(unittest::default_sfixed32_extension_lite));
1298
+ EXPECT_EQ(-50 , message.GetExtension(unittest::default_sfixed64_extension_lite));
1299
+ EXPECT_EQ( 51.5 , message.GetExtension(unittest::default_float_extension_lite ));
1300
+ EXPECT_EQ( 52e3 , message.GetExtension(unittest::default_double_extension_lite ));
1301
+ EXPECT_EQ(true , message.GetExtension(unittest::default_bool_extension_lite ));
1302
+ EXPECT_EQ("hello", message.GetExtension(unittest::default_string_extension_lite ));
1303
+ EXPECT_EQ("world", message.GetExtension(unittest::default_bytes_extension_lite ));
1304
+
1305
+ EXPECT_EQ(unittest::TestAllTypesLite::BAR , message.GetExtension(unittest::default_nested_enum_extension_lite ));
1306
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAR , message.GetExtension(unittest::default_foreign_enum_extension_lite));
1307
+ EXPECT_EQ(unittest_import::IMPORT_LITE_BAR, message.GetExtension(unittest::default_import_enum_extension_lite ));
1308
+
1309
+
1310
+ EXPECT_FALSE(message.HasExtension(unittest::oneof_uint32_extension_lite));
1311
+ EXPECT_FALSE(message.GetExtension(unittest::oneof_nested_message_extension_lite).has_bb());
1312
+ EXPECT_FALSE(message.HasExtension(unittest::oneof_string_extension_lite));
1313
+ EXPECT_FALSE(message.HasExtension(unittest::oneof_bytes_extension_lite));
1314
+ }
1315
+
1316
+ // -------------------------------------------------------------------
1317
+
1318
+ void TestUtilLite::ExpectRepeatedExtensionsModified(
1319
+ const unittest::TestAllExtensionsLite& message) {
1320
+ // ModifyRepeatedFields only sets the second repeated element of each
1321
+ // field. In addition to verifying this, we also verify that the first
1322
+ // element and size were *not* modified.
1323
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int32_extension_lite ));
1324
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_int64_extension_lite ));
1325
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint32_extension_lite ));
1326
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_uint64_extension_lite ));
1327
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint32_extension_lite ));
1328
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sint64_extension_lite ));
1329
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed32_extension_lite ));
1330
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_fixed64_extension_lite ));
1331
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed32_extension_lite));
1332
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_sfixed64_extension_lite));
1333
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_float_extension_lite ));
1334
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_double_extension_lite ));
1335
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bool_extension_lite ));
1336
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_string_extension_lite ));
1337
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_bytes_extension_lite ));
1338
+
1339
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeatedgroup_extension_lite ));
1340
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_message_extension_lite ));
1341
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_message_extension_lite));
1342
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_message_extension_lite ));
1343
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_lazy_message_extension_lite ));
1344
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_nested_enum_extension_lite ));
1345
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_foreign_enum_extension_lite ));
1346
+ ASSERT_EQ(2, message.ExtensionSize(unittest::repeated_import_enum_extension_lite ));
1347
+
1348
+
1349
+ EXPECT_EQ(201 , message.GetExtension(unittest::repeated_int32_extension_lite , 0));
1350
+ EXPECT_EQ(202 , message.GetExtension(unittest::repeated_int64_extension_lite , 0));
1351
+ EXPECT_EQ(203 , message.GetExtension(unittest::repeated_uint32_extension_lite , 0));
1352
+ EXPECT_EQ(204 , message.GetExtension(unittest::repeated_uint64_extension_lite , 0));
1353
+ EXPECT_EQ(205 , message.GetExtension(unittest::repeated_sint32_extension_lite , 0));
1354
+ EXPECT_EQ(206 , message.GetExtension(unittest::repeated_sint64_extension_lite , 0));
1355
+ EXPECT_EQ(207 , message.GetExtension(unittest::repeated_fixed32_extension_lite , 0));
1356
+ EXPECT_EQ(208 , message.GetExtension(unittest::repeated_fixed64_extension_lite , 0));
1357
+ EXPECT_EQ(209 , message.GetExtension(unittest::repeated_sfixed32_extension_lite, 0));
1358
+ EXPECT_EQ(210 , message.GetExtension(unittest::repeated_sfixed64_extension_lite, 0));
1359
+ EXPECT_EQ(211 , message.GetExtension(unittest::repeated_float_extension_lite , 0));
1360
+ EXPECT_EQ(212 , message.GetExtension(unittest::repeated_double_extension_lite , 0));
1361
+ EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension_lite , 0));
1362
+ EXPECT_EQ("215", message.GetExtension(unittest::repeated_string_extension_lite , 0));
1363
+ EXPECT_EQ("216", message.GetExtension(unittest::repeated_bytes_extension_lite , 0));
1364
+
1365
+ EXPECT_EQ(217, message.GetExtension(unittest::repeatedgroup_extension_lite , 0).a());
1366
+ EXPECT_EQ(218, message.GetExtension(unittest::repeated_nested_message_extension_lite , 0).bb());
1367
+ EXPECT_EQ(219, message.GetExtension(unittest::repeated_foreign_message_extension_lite, 0).c());
1368
+ EXPECT_EQ(220, message.GetExtension(unittest::repeated_import_message_extension_lite , 0).d());
1369
+ EXPECT_EQ(227, message.GetExtension(unittest::repeated_lazy_message_extension_lite , 0).bb());
1370
+
1371
+ EXPECT_EQ(unittest::TestAllTypesLite::BAR , message.GetExtension(unittest::repeated_nested_enum_extension_lite , 0));
1372
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAR , message.GetExtension(unittest::repeated_foreign_enum_extension_lite, 0));
1373
+ EXPECT_EQ(unittest_import::IMPORT_LITE_BAR, message.GetExtension(unittest::repeated_import_enum_extension_lite , 0));
1374
+
1375
+
1376
+ // Actually verify the second (modified) elements now.
1377
+ EXPECT_EQ(501 , message.GetExtension(unittest::repeated_int32_extension_lite , 1));
1378
+ EXPECT_EQ(502 , message.GetExtension(unittest::repeated_int64_extension_lite , 1));
1379
+ EXPECT_EQ(503 , message.GetExtension(unittest::repeated_uint32_extension_lite , 1));
1380
+ EXPECT_EQ(504 , message.GetExtension(unittest::repeated_uint64_extension_lite , 1));
1381
+ EXPECT_EQ(505 , message.GetExtension(unittest::repeated_sint32_extension_lite , 1));
1382
+ EXPECT_EQ(506 , message.GetExtension(unittest::repeated_sint64_extension_lite , 1));
1383
+ EXPECT_EQ(507 , message.GetExtension(unittest::repeated_fixed32_extension_lite , 1));
1384
+ EXPECT_EQ(508 , message.GetExtension(unittest::repeated_fixed64_extension_lite , 1));
1385
+ EXPECT_EQ(509 , message.GetExtension(unittest::repeated_sfixed32_extension_lite, 1));
1386
+ EXPECT_EQ(510 , message.GetExtension(unittest::repeated_sfixed64_extension_lite, 1));
1387
+ EXPECT_EQ(511 , message.GetExtension(unittest::repeated_float_extension_lite , 1));
1388
+ EXPECT_EQ(512 , message.GetExtension(unittest::repeated_double_extension_lite , 1));
1389
+ EXPECT_EQ(true , message.GetExtension(unittest::repeated_bool_extension_lite , 1));
1390
+ EXPECT_EQ("515", message.GetExtension(unittest::repeated_string_extension_lite , 1));
1391
+ EXPECT_EQ("516", message.GetExtension(unittest::repeated_bytes_extension_lite , 1));
1392
+
1393
+ EXPECT_EQ(517, message.GetExtension(unittest::repeatedgroup_extension_lite , 1).a());
1394
+ EXPECT_EQ(518, message.GetExtension(unittest::repeated_nested_message_extension_lite , 1).bb());
1395
+ EXPECT_EQ(519, message.GetExtension(unittest::repeated_foreign_message_extension_lite, 1).c());
1396
+ EXPECT_EQ(520, message.GetExtension(unittest::repeated_import_message_extension_lite , 1).d());
1397
+ EXPECT_EQ(527, message.GetExtension(unittest::repeated_lazy_message_extension_lite , 1).bb());
1398
+
1399
+ EXPECT_EQ(unittest::TestAllTypesLite::FOO , message.GetExtension(unittest::repeated_nested_enum_extension_lite , 1));
1400
+ EXPECT_EQ(unittest::FOREIGN_LITE_FOO , message.GetExtension(unittest::repeated_foreign_enum_extension_lite, 1));
1401
+ EXPECT_EQ(unittest_import::IMPORT_LITE_FOO, message.GetExtension(unittest::repeated_import_enum_extension_lite , 1));
1402
+
1403
+ }
1404
+
1405
+ // -------------------------------------------------------------------
1406
+
1407
+ void TestUtilLite::SetPackedExtensions(
1408
+ unittest::TestPackedExtensionsLite* message) {
1409
+ message->AddExtension(unittest::packed_int32_extension_lite , 601);
1410
+ message->AddExtension(unittest::packed_int64_extension_lite , 602);
1411
+ message->AddExtension(unittest::packed_uint32_extension_lite , 603);
1412
+ message->AddExtension(unittest::packed_uint64_extension_lite , 604);
1413
+ message->AddExtension(unittest::packed_sint32_extension_lite , 605);
1414
+ message->AddExtension(unittest::packed_sint64_extension_lite , 606);
1415
+ message->AddExtension(unittest::packed_fixed32_extension_lite , 607);
1416
+ message->AddExtension(unittest::packed_fixed64_extension_lite , 608);
1417
+ message->AddExtension(unittest::packed_sfixed32_extension_lite, 609);
1418
+ message->AddExtension(unittest::packed_sfixed64_extension_lite, 610);
1419
+ message->AddExtension(unittest::packed_float_extension_lite , 611);
1420
+ message->AddExtension(unittest::packed_double_extension_lite , 612);
1421
+ message->AddExtension(unittest::packed_bool_extension_lite , true);
1422
+ message->AddExtension(unittest::packed_enum_extension_lite, unittest::FOREIGN_LITE_BAR);
1423
+ // add a second one of each field
1424
+ message->AddExtension(unittest::packed_int32_extension_lite , 701);
1425
+ message->AddExtension(unittest::packed_int64_extension_lite , 702);
1426
+ message->AddExtension(unittest::packed_uint32_extension_lite , 703);
1427
+ message->AddExtension(unittest::packed_uint64_extension_lite , 704);
1428
+ message->AddExtension(unittest::packed_sint32_extension_lite , 705);
1429
+ message->AddExtension(unittest::packed_sint64_extension_lite , 706);
1430
+ message->AddExtension(unittest::packed_fixed32_extension_lite , 707);
1431
+ message->AddExtension(unittest::packed_fixed64_extension_lite , 708);
1432
+ message->AddExtension(unittest::packed_sfixed32_extension_lite, 709);
1433
+ message->AddExtension(unittest::packed_sfixed64_extension_lite, 710);
1434
+ message->AddExtension(unittest::packed_float_extension_lite , 711);
1435
+ message->AddExtension(unittest::packed_double_extension_lite , 712);
1436
+ message->AddExtension(unittest::packed_bool_extension_lite , false);
1437
+ message->AddExtension(unittest::packed_enum_extension_lite, unittest::FOREIGN_LITE_BAZ);
1438
+ }
1439
+
1440
+ // -------------------------------------------------------------------
1441
+
1442
+ void TestUtilLite::ModifyPackedExtensions(
1443
+ unittest::TestPackedExtensionsLite* message) {
1444
+ message->SetExtension(unittest::packed_int32_extension_lite , 1, 801);
1445
+ message->SetExtension(unittest::packed_int64_extension_lite , 1, 802);
1446
+ message->SetExtension(unittest::packed_uint32_extension_lite , 1, 803);
1447
+ message->SetExtension(unittest::packed_uint64_extension_lite , 1, 804);
1448
+ message->SetExtension(unittest::packed_sint32_extension_lite , 1, 805);
1449
+ message->SetExtension(unittest::packed_sint64_extension_lite , 1, 806);
1450
+ message->SetExtension(unittest::packed_fixed32_extension_lite , 1, 807);
1451
+ message->SetExtension(unittest::packed_fixed64_extension_lite , 1, 808);
1452
+ message->SetExtension(unittest::packed_sfixed32_extension_lite, 1, 809);
1453
+ message->SetExtension(unittest::packed_sfixed64_extension_lite, 1, 810);
1454
+ message->SetExtension(unittest::packed_float_extension_lite , 1, 811);
1455
+ message->SetExtension(unittest::packed_double_extension_lite , 1, 812);
1456
+ message->SetExtension(unittest::packed_bool_extension_lite , 1, true);
1457
+ message->SetExtension(unittest::packed_enum_extension_lite , 1,
1458
+ unittest::FOREIGN_LITE_FOO);
1459
+ }
1460
+
1461
+ // -------------------------------------------------------------------
1462
+
1463
+ void TestUtilLite::ExpectPackedExtensionsSet(
1464
+ const unittest::TestPackedExtensionsLite& message) {
1465
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int32_extension_lite ));
1466
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int64_extension_lite ));
1467
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint32_extension_lite ));
1468
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint64_extension_lite ));
1469
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint32_extension_lite ));
1470
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint64_extension_lite ));
1471
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed32_extension_lite ));
1472
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed64_extension_lite ));
1473
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed32_extension_lite));
1474
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed64_extension_lite));
1475
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_float_extension_lite ));
1476
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_double_extension_lite ));
1477
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_bool_extension_lite ));
1478
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_enum_extension_lite ));
1479
+
1480
+ EXPECT_EQ(601 , message.GetExtension(unittest::packed_int32_extension_lite , 0));
1481
+ EXPECT_EQ(602 , message.GetExtension(unittest::packed_int64_extension_lite , 0));
1482
+ EXPECT_EQ(603 , message.GetExtension(unittest::packed_uint32_extension_lite , 0));
1483
+ EXPECT_EQ(604 , message.GetExtension(unittest::packed_uint64_extension_lite , 0));
1484
+ EXPECT_EQ(605 , message.GetExtension(unittest::packed_sint32_extension_lite , 0));
1485
+ EXPECT_EQ(606 , message.GetExtension(unittest::packed_sint64_extension_lite , 0));
1486
+ EXPECT_EQ(607 , message.GetExtension(unittest::packed_fixed32_extension_lite , 0));
1487
+ EXPECT_EQ(608 , message.GetExtension(unittest::packed_fixed64_extension_lite , 0));
1488
+ EXPECT_EQ(609 , message.GetExtension(unittest::packed_sfixed32_extension_lite, 0));
1489
+ EXPECT_EQ(610 , message.GetExtension(unittest::packed_sfixed64_extension_lite, 0));
1490
+ EXPECT_EQ(611 , message.GetExtension(unittest::packed_float_extension_lite , 0));
1491
+ EXPECT_EQ(612 , message.GetExtension(unittest::packed_double_extension_lite , 0));
1492
+ EXPECT_EQ(true , message.GetExtension(unittest::packed_bool_extension_lite , 0));
1493
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAR,
1494
+ message.GetExtension(unittest::packed_enum_extension_lite, 0));
1495
+ EXPECT_EQ(701 , message.GetExtension(unittest::packed_int32_extension_lite , 1));
1496
+ EXPECT_EQ(702 , message.GetExtension(unittest::packed_int64_extension_lite , 1));
1497
+ EXPECT_EQ(703 , message.GetExtension(unittest::packed_uint32_extension_lite , 1));
1498
+ EXPECT_EQ(704 , message.GetExtension(unittest::packed_uint64_extension_lite , 1));
1499
+ EXPECT_EQ(705 , message.GetExtension(unittest::packed_sint32_extension_lite , 1));
1500
+ EXPECT_EQ(706 , message.GetExtension(unittest::packed_sint64_extension_lite , 1));
1501
+ EXPECT_EQ(707 , message.GetExtension(unittest::packed_fixed32_extension_lite , 1));
1502
+ EXPECT_EQ(708 , message.GetExtension(unittest::packed_fixed64_extension_lite , 1));
1503
+ EXPECT_EQ(709 , message.GetExtension(unittest::packed_sfixed32_extension_lite, 1));
1504
+ EXPECT_EQ(710 , message.GetExtension(unittest::packed_sfixed64_extension_lite, 1));
1505
+ EXPECT_EQ(711 , message.GetExtension(unittest::packed_float_extension_lite , 1));
1506
+ EXPECT_EQ(712 , message.GetExtension(unittest::packed_double_extension_lite , 1));
1507
+ EXPECT_EQ(false, message.GetExtension(unittest::packed_bool_extension_lite , 1));
1508
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAZ,
1509
+ message.GetExtension(unittest::packed_enum_extension_lite, 1));
1510
+ }
1511
+
1512
+ // -------------------------------------------------------------------
1513
+
1514
+ void TestUtilLite::ExpectPackedExtensionsClear(
1515
+ const unittest::TestPackedExtensionsLite& message) {
1516
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_int32_extension_lite ));
1517
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_int64_extension_lite ));
1518
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_uint32_extension_lite ));
1519
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_uint64_extension_lite ));
1520
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sint32_extension_lite ));
1521
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sint64_extension_lite ));
1522
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_fixed32_extension_lite ));
1523
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_fixed64_extension_lite ));
1524
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sfixed32_extension_lite));
1525
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_sfixed64_extension_lite));
1526
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_float_extension_lite ));
1527
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_double_extension_lite ));
1528
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_bool_extension_lite ));
1529
+ EXPECT_EQ(0, message.ExtensionSize(unittest::packed_enum_extension_lite ));
1530
+ }
1531
+
1532
+ // -------------------------------------------------------------------
1533
+
1534
+ void TestUtilLite::ExpectPackedExtensionsModified(
1535
+ const unittest::TestPackedExtensionsLite& message) {
1536
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int32_extension_lite ));
1537
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int64_extension_lite ));
1538
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint32_extension_lite ));
1539
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint64_extension_lite ));
1540
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint32_extension_lite ));
1541
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint64_extension_lite ));
1542
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed32_extension_lite ));
1543
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed64_extension_lite ));
1544
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed32_extension_lite));
1545
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed64_extension_lite));
1546
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_float_extension_lite ));
1547
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_double_extension_lite ));
1548
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_bool_extension_lite ));
1549
+ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_enum_extension_lite ));
1550
+ EXPECT_EQ(601 , message.GetExtension(unittest::packed_int32_extension_lite , 0));
1551
+ EXPECT_EQ(602 , message.GetExtension(unittest::packed_int64_extension_lite , 0));
1552
+ EXPECT_EQ(603 , message.GetExtension(unittest::packed_uint32_extension_lite , 0));
1553
+ EXPECT_EQ(604 , message.GetExtension(unittest::packed_uint64_extension_lite , 0));
1554
+ EXPECT_EQ(605 , message.GetExtension(unittest::packed_sint32_extension_lite , 0));
1555
+ EXPECT_EQ(606 , message.GetExtension(unittest::packed_sint64_extension_lite , 0));
1556
+ EXPECT_EQ(607 , message.GetExtension(unittest::packed_fixed32_extension_lite , 0));
1557
+ EXPECT_EQ(608 , message.GetExtension(unittest::packed_fixed64_extension_lite , 0));
1558
+ EXPECT_EQ(609 , message.GetExtension(unittest::packed_sfixed32_extension_lite, 0));
1559
+ EXPECT_EQ(610 , message.GetExtension(unittest::packed_sfixed64_extension_lite, 0));
1560
+ EXPECT_EQ(611 , message.GetExtension(unittest::packed_float_extension_lite , 0));
1561
+ EXPECT_EQ(612 , message.GetExtension(unittest::packed_double_extension_lite , 0));
1562
+ EXPECT_EQ(true , message.GetExtension(unittest::packed_bool_extension_lite , 0));
1563
+ EXPECT_EQ(unittest::FOREIGN_LITE_BAR,
1564
+ message.GetExtension(unittest::packed_enum_extension_lite, 0));
1565
+
1566
+ // Actually verify the second (modified) elements now.
1567
+ EXPECT_EQ(801 , message.GetExtension(unittest::packed_int32_extension_lite , 1));
1568
+ EXPECT_EQ(802 , message.GetExtension(unittest::packed_int64_extension_lite , 1));
1569
+ EXPECT_EQ(803 , message.GetExtension(unittest::packed_uint32_extension_lite , 1));
1570
+ EXPECT_EQ(804 , message.GetExtension(unittest::packed_uint64_extension_lite , 1));
1571
+ EXPECT_EQ(805 , message.GetExtension(unittest::packed_sint32_extension_lite , 1));
1572
+ EXPECT_EQ(806 , message.GetExtension(unittest::packed_sint64_extension_lite , 1));
1573
+ EXPECT_EQ(807 , message.GetExtension(unittest::packed_fixed32_extension_lite , 1));
1574
+ EXPECT_EQ(808 , message.GetExtension(unittest::packed_fixed64_extension_lite , 1));
1575
+ EXPECT_EQ(809 , message.GetExtension(unittest::packed_sfixed32_extension_lite, 1));
1576
+ EXPECT_EQ(810 , message.GetExtension(unittest::packed_sfixed64_extension_lite, 1));
1577
+ EXPECT_EQ(811 , message.GetExtension(unittest::packed_float_extension_lite , 1));
1578
+ EXPECT_EQ(812 , message.GetExtension(unittest::packed_double_extension_lite , 1));
1579
+ EXPECT_EQ(true , message.GetExtension(unittest::packed_bool_extension_lite , 1));
1580
+ EXPECT_EQ(unittest::FOREIGN_LITE_FOO,
1581
+ message.GetExtension(unittest::packed_enum_extension_lite, 1));
1582
+ }
1583
+
1584
+ } // namespace protobuf
1585
+ } // namespace google