ó SÉLjc @ s1 d Z d Z y d d l Z Wn e k r; d d l Z n Xd d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d Z d e j f d „ ƒ YZ d e j f d „ ƒ YZ e d k r-e j ƒ n d S( sà Unittest that directly tests the output of the pure-Python protocol compiler. See //google/protobuf/internal/reflection_test.py for a test which further ensures that we can use Python protocol message objects as we expect. s# robinson@google.com (Will Robinson)iÿÿÿÿN( t test_bad_identifiers_pb2( t unittest_custom_options_pb2( t unittest_import_pb2( t unittest_import_public_pb2( t unittest_mset_pb2( t unittest_mset_wire_format_pb2( t unittest_no_generic_services_pb2( t unittest_pb2( t service( t symbol_databasei t GeneratorTestc B sÎ e Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z RS( c C s6 d } t j } | j | j j | j j | j ƒ d S( Nt optional_nested_message( R t TestAllTypest assertEqualt NestedMessaget DESCRIPTORt fields_by_namet message_type( t selft field_namet proto_type( ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testNestedMessageDescriptor@ s c C sÄ | j d t j ƒ | j d t j ƒ | j d t j ƒ t j ƒ } | j d | j ƒ | j d t j j ƒ | j d | j ƒ | j d t j j ƒ | j d | j ƒ | j d t j j ƒ d S( Ni i i i i i ( R R t FOREIGN_FOOt FOREIGN_BARt FOREIGN_BAZR t FOOt BARt BAZ( R t proto( ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testEnumsG s c s t j ƒ } d „ ‰ ‡ f d † } | j | | j ƒ ƒ | j | j d k ƒ | j | | j ƒ ƒ | j | j d k ƒ | j ˆ | j ƒ ƒ | j | | j ƒ ƒ | j | j d k ƒ | j | | j ƒ ƒ | j | j d k ƒ | j ˆ | j ƒ ƒ | j d | j ƒ d S( Nc S s | | k S( N( ( t val( ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt isnan\ s c s ˆ | ƒ o ˆ | d ƒ S( Ni ( ( R ( R ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt isinf_ s i s ? ? ?? ?? ??? ??/ ??-( R t TestExtremeDefaultValuest assertTruet inf_doublet neg_inf_doublet nan_doublet inf_floatt neg_inf_floatt nan_floatR t cpp_trigraph( R t messageR ( ( R sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testExtremeDefaultValuesW s c C s t j j } i t d 6t d 6t d 6t d 6} t g | j D]' } | j | k r; | j | j f ^ q; ƒ } | j | | ƒ d S( Nt optional_int32t repeated_int32R t default_int32( R R R t Falset Truet dictt fieldst namet has_default_valueR ( R t desct expected_has_default_by_namet ft has_default_by_name( ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testHasDefaultValuesp s *c C s? | j t j j t j j ƒ | j t j j j t j j ƒ d S( N( R R t optional_int32_extensiont containing_typet TestAllExtensionsR t TestRequiredt single( R ( ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt' testContainingTypeBehaviorForExtensions€ s c C s9 | j t j j d ƒ | j t j j j t j j ƒ d S( N( R R R: t extension_scopet NoneR= R> R ( R ( ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testExtensionScope† s c C sW | j t j j ƒ | j t j j j ƒ t j j } | j d } | j | j ƒ d S( Nt a( R" R R: t is_extensionR= R> R R ( R t message_descriptort non_extension_descriptor( ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testIsExtensionŒ s c C s) t j ƒ } | j | j j ƒ j ƒ d S( N( R t TestMessageSetR" R t GetOptionst message_set_wire_format( R R ( ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testOptions” s c C s9 t j ƒ } | j j d j ƒ } | j | d k ƒ d S( Nt AnEnum( R t TestMessageWithCustomOptionsR t enum_types_by_nameRI R" RA ( R R t enum_options( ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testMessageWithCustomOptions˜ s c C s‚ | j t t j j j ƒ t t j j j t j j j t j j j g ƒ ƒ | j t j j j g ƒ | j t j j j j g ƒ d S( N( R t setR R R t nested_typesR t OptionalGroupt RepeatedGroupt TestEmptyMessage( R ( ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testNestedTypesŸ s c C s¢ | j t j j j d k ƒ | j t j j j d k ƒ | j t j j j j t j j ƒ | j t j j j j t j j ƒ | j t j j j j t j j ƒ d S( N( R" R RU R R; RA R R R RT ( R ( ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testContainingType« s c C s9 | j t j j d k ƒ | j t j j t j j ƒ d S( N( R" R t _FOREIGNENUMR; RA R t _TESTALLTYPES_NESTEDENUMR R ( R ( ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt" testContainingTypeInEnumDescriptorº s c C s¬ | j t j j j j d ƒ t j j j } | j | j j d ƒ | j t j j j j d ƒ | j t j j j d ƒ | j t j j j d ƒ | j t j j j d ƒ d S( Nt protobuf_unittestt protobuf_unittest_import( R R R R t filet packageR R t ImportMessageRX RY t _IMPORTENUM( R R5 ( ( sK /usr/lib/python2.7/site-packages/google/protobuf/internal/generator_test.pyt testPackage¿ s c C sg | j t j j j g ƒ | j t j j j d t f g ƒ | j t j j j d d d t f g ƒ d S( Ni i* i+ i/ i” i ( i* i+ ( i/ i” ( R R R R t extension_rangesR<