£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

hc           @   s   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 e j f d     YZ e d k r e j   n  d S(   s*   Tests for google.protobuf.message_factory.s"   matthewtoia@google.com (Matt Toia)iN(   t   descriptor_pb2(   t   api_implementation(   t   factory_test1_pb2(   t   factory_test2_pb2(   t   descriptor_database(   t   descriptor_pool(   t   message_factoryt   MessageFactoryTestc           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   s:   t  j j t j j  |  _ t  j j t j j  |  _ d  S(   N(	   R    t   FileDescriptorProtot
   FromStringR   t
   DESCRIPTORt   serialized_pbt   factory_test1_fdR   t   factory_test2_fd(   t   self(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/message_factory_test.pyt   setUp4   s    		c         C   s  |   } d | _  d | _ d | j _ d | j _ d | j _ d | j j _ d | j _ | j j	 j
 d d d g  | j j	 j d	  d | _ d | _ d | j _ d | j _  d
 | j j _  d | j _ d | _ | j	 j
 d	 d d g  | j	 j d  | j j   d | j d _ d | j d _ | j j d d d d  d
 | j j _  d | j j j j _  | j   } t j j |  } | j   } |  j | |  | j |  } |  j | |  d  S(   Ni*   i    s   nested message valuei   i   u   oneu   twou   threeu   fouri   s   one deeps	   zero deept   hellot   worldt   part_1t   testingt   part_2t   123i   (   t	   mandatoryt   nested_factory_2_enumt   nested_factory_2_messaget   valuet   factory_1_messaget   factory_1_enumt   nested_factory_1_enumt   nested_factory_1_messaget   scalar_valuet
   list_valuet   extendt   appendt   circular_messaget   groupedt   addR   R   t   loopt   SerializeToStringR   t   Factory2MessageR	   t   assertEqual(   R   t   clst   msgt
   serializedt	   convertedt   reserializedt   result(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/message_factory_test.pyt   _ExerciseDynamicClass:   s>    						c         C   s   t  j   } t j |  } | j |  j  | j |  j  t j   } | j	 | j
 d   } |  j | t j k  |  j |  | j	 | j
 d   } |  j | | k  d  S(   Ns/   google.protobuf.python.internal.Factory2Message(   R   t   DescriptorDatabaseR   t   DescriptorPoolt   AddR   R   R   t   MessageFactoryt   GetPrototypet   FindMessageTypeByNamet   assertFalseR   R'   R/   t
   assertTrue(   R   t   dbt   poolt   factoryR)   t   cls2(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/message_factory_test.pyt   testGetPrototype\   s    c         C   s  xt  d  D]} |  j |  j j |  j j  t j |  j |  j g  } |  j t	 d d g  j
 t	 | j      |  j | d  | d } |  j t	 d d g  j
 t	 d   | j j j j | j  D    | d   } | j j d  } | j j d  } d | j | <d | j | <|  j d | j |  |  j d | j |  |  j d  | j j d	   t j   d
 k r|  j t | j  t | j   |  j t | j j d  |  j t | j j d  q |  j d  | j j d   |  j d  | j j d   q Wd  S(   Ni   s/   google.protobuf.python.internal.Factory2Messages/   google.protobuf.python.internal.Factory1Messages>   google.protobuf.python.internal.Factory2Message.one_more_fields-   google.protobuf.python.internal.another_fieldc         s   s   |  ] } | j  Vq d  S(   N(   t	   full_name(   t   .0t   ext(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/message_factory_test.pys	   <genexpr>   s   t   test1t   test2i!0  t   cppi    t    (   t   ranget   assertInR   t   nameR   t
   dependencyR   t   GetMessagesR7   t   sett   issubsett   keysR/   R
   t   fileR9   t   FindAllExtensionst
   Extensionst   _FindExtensionByNameR(   t   Nonet   _FindExtensionByNumberR   t   Typet   lent   assertRaisest	   TypeError(   R   t   _t   messagest   factory_msg1t   msg1t   ext1t   ext2(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/message_factory_test.pyt   testGetMessagesj   sN    
						"				c   	      C   sD  t  j   } t j d |  } t j   } d | _ d | _ | j j	   } d | _ | j
 j	   } d | _ d | _ | j |  | j | j g  } |  j d |  t j   } d | _ d | _ | j j d  | j j	   } d	 | _ | j j	   } d
 | _ d | _ t j j | _ d	 | _ d | _ | j |  | j | j g  } |  j d |  t j   } d | _ d | _ | j j d  | j j	   } d | _ | j j	   } d
 | _ d | _ t j j | _ d | _ d | _ | j |  |  j t   } | j | j g  Wd  QX|  j t | j  d d g  d  S(   NR9   s(   google/protobuf/internal/container.protos   google.protobuf.python.internalt	   Containeri   i
   s)   google.protobuf.python.internal.Containers(   google/protobuf/internal/extension.protot	   Extensiont   extension_fieldi   s)   google.protobuf.python.internal.Extensions(   google/protobuf/internal/duplicate.protot	   Duplicates   Extensions "google.protobuf.python.internal.Duplicate.extension_field" and "google.protobuf.python.internal.Extension.extension_field" both try to extend message type "google.protobuf.python.internal.Container" with field number 2.s!   Double registration of Extensions(   R   R1   R   R3   R    R   RF   t   packaget   message_typeR$   t   extension_ranget   startt   endR2   RH   RE   RG   R!   t	   extensiont   numbert   FieldDescriptorProtot   LABEL_OPTIONALt   labelt	   type_namet   extendeeRT   t	   Exceptiont   strt	   exception(	   R   R9   R:   t   fR*   t   rngt   msgsR?   t   cm(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/message_factory_test.pyt   testDuplicateExtensionNumber   s\    																			(   t   __name__t
   __module__R   R/   R<   R\   Rt   (    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/message_factory_test.pyR   2   s
   		"		4t   __main__(   t   __doc__t
   __author__t	   unittest2t   unittestt   ImportErrort   google.protobufR    t   google.protobuf.internalR   R   R   R   R   R   t   TestCaseR   Ru   t   main(    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/message_factory_test.pyt   <module>    s   