£Á°è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           @   sM  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 e j Z d   Z d e f d     YZ d e f d     YZ d e f d     YZ e d k rIe j   n  d S(   sJ   Test for preservation of unknown fields in the pure Python implementation.s!   bohdank@google.com (Bohdan Koval)iN(   t   unittest_mset_pb2(   t   unittest_pb2(   t   unittest_proto3_arena_pb2(   t   api_implementation(   t   encoder(   t   message_set_extensions_pb2(   t   missing_enum_values_pb2(   t	   test_util(   t   testing_refleaks(   t   type_checkersc         C   s4   t  j t j   d k o' t j   d k d  |   S(   Nt   cppi   s7   Addtional test for pure python involved protect members(   t   unittestt   skipIfR   t   Typet   Version(   t   func(    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt(   SkipCheckUnknownFieldIfCppImplementation;   s    !t   UnknownFieldsTestc           B   sY   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         C   sf   t  j j |  _ t  j   |  _ t j |  j  |  j j   |  _ t  j	   |  _
 |  j
 j |  j  d  S(   N(   R   t   TestAllTypest
   DESCRIPTORt
   descriptort
   all_fieldsR   t   SetAllFieldst   SerializeToStringt   all_fields_datat   TestEmptyMessaget   empty_messaget   ParseFromString(   t   self(    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   setUpC   s    c         C   s)   |  j  j   } |  j | |  j k  d  S(   N(   R   R   t
   assertTrueR   (   R   t   data(    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   testSerializeK   s    c         C   s^   t  j   } | j |  j  | r> |  j |  j | j    n |  j d t | j     d  S(   Ni    (   R   R   R   R   t   assertEqualR   t   len(   R   t   preservet   message(    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   expectSerializeProto3R   s
    c         C   sF   t  j   } |  j |  t  j |  |  j |  t  j |  d  S(   N(   R   t&   GetPythonProto3PreserveUnknownsDefaultR%   t&   SetPythonProto3PreserveUnknownsDefault(   R   t   default_preserve(    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   testSerializeProto3Z   s    c         C   s&   |  j  |  j j   |  j j    d  S(   N(   R!   R   t   ByteSizeR   (   R   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   testByteSized   s    c         C   s#   |  j  d t |  j j     d  S(   Ni    (   R!   R"   R   t
   ListFields(   R   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   testListFieldsg   s    c         C   s   t  j   } | j j   } d | _ t j   } d | _ | j   | _	 | j   } t j
   } | j |  | j   } t  j   } | j |  |  j | |  d  S(   Nii90  (   R    t   RawMessageSett   itemt   addt   type_idR   t   TestMessageSetExtension1t   iR   R$   t   TestMessageSett   MergeFromStringR!   (   R   t   rawR/   t   message1t
   serializedt   protot   reserializedt   new_raw(    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt1   testSerializeMessageSetWireFormatUnknownExtensionk   s    		c         C   sl   t  j   } | j |  j  |  j |  j |  |  j j d  | j |  j j    |  j	 |  j |  d  S(   Nt   optional_string(
   R   R   R   R   R!   R   R   t
   ClearFieldR   t   assertNotEqual(   R   R$   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt
   testEquals   s    c         C   s   |  j  j   |  j d |  j  j    t j   } t j   } d | _ | j j | j    | j	 j
   j | j    |  j d | j j    |  j d | j	 d j    | j   |  j d | j j    |  j d | j	 d j    d  S(   Nt    t   discardi    (   R   t   DiscardUnknownFieldsR!   R   R   R   R=   t   optional_nested_messageR   t   repeated_nested_messageR0   R?   (   R   R$   t   other_message(    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   testDiscardUnknownFields   s"    		
(   t   __name__t
   __module__R   R    R%   R)   R+   R-   R<   R@   RG   (    (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyR   A   s   				
					t   UnknownFieldsAccessorsTestc           B   sM   e  Z d    Z d   Z e d    Z d   Z d   Z d   Z d   Z	 RS(   c         C   sf   t  j j |  _ t  j   |  _ t j |  j  |  j j   |  _ t  j	   |  _
 |  j
 j |  j  d  S(   N(   R   R   R   R   R   R   R   R   R   R   R   R   (   R   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyR      s    c   
      C   s   |  j  j | } t j | j } t j | j |  } i  } x\ |  j j	 D]N \ } } | | k rH t
 j j | d }	 |	 | d t |  |  j |  qH qH W|  j | | |  d  S(   Ni    (   R   t   fields_by_nameR	   t   FIELD_TYPE_TO_WIRE_TYPEt   typeR   t   TagBytest   numberR   t   _unknown_fieldsR   R   t   _decoders_by_tagR"   R   R!   (
   R   t   namet   expected_valuet   field_descriptort	   wire_typet	   field_tagt   result_dictt	   tag_bytest   valuet   decoder(    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   CheckUnknownField   s    &c         C   s   |  j  d |  j j  |  j  d |  j j  |  j  d |  j j  |  j  d |  j j  |  j  d |  j j  |  j  d |  j j  |  j  d |  j j  d  S(   Nt   optional_nested_enumt   repeated_nested_enumt   optional_int32t   optional_fixed32t   optional_fixed64R=   t   optionalgroup(	   R[   R   R\   R]   R^   R_   R`   R=   Ra   (   R   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   testCheckUnknownFieldValue   s    							c         C   s9   t  j   } | j |  j  |  j | j   |  j  d  S(   N(   R   R   t   CopyFromR   R!   R   R   (   R   R$   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   testCopyFrom   s    c         C   s   t  j   } d | _ d | _ t  j   } | j | j    | j d  d | _ d | _ t  j   } | j | j    | j	 |  | j | j    |  j
 | j d  |  j
 | j d  |  j
 | j d  d  S(   Ni   i   R^   i   i   (   R   R   R^   t   optional_uint32R   R   R   R>   t   optional_int64t	   MergeFromR!   (   R   R$   t   sourcet   destination(    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   testMergeFrom   s    				c         C   s*   |  j  j   |  j |  j  j   d  d  S(   NRA   (   R   t   ClearR!   R   (   R   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt	   testClear   s    c         C   s9   t  j   } | j |  j  |  j | j   |  j  d  S(   N(   R   t   TestEmptyMessageWithExtensionsR   R   R!   R   (   R   R$   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   testUnknownExtensions   s    (
   RH   RI   R   R[   R   Rb   Rd   Rj   Rl   Rn   (    (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyRJ      s   					t   UnknownEnumValuesTestc           B   sV   e  Z d    Z d   Z d   Z d   Z d   Z d   Z e d    Z	 d   Z
 RS(   c         C   s   t  j j |  _ t  j   |  _ t  j j |  j _ |  j j j t  j j t  j j	 g  |  j j
 j t  j j t  j j	 g  |  j j   |  _ t  j   |  _ |  j j |  j  d  S(   N(   R   t   TestEnumValuesR   R   R$   t   ZEROR\   R]   t   extendt   ONEt   packed_nested_enumR   t   message_datat   TestMissingEnumValuest   missing_messageR   (   R   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyR      s    		c   
      C   s   |  j  j | } t j | j } t j | j |  } i  } x\ |  j j	 D]N \ } } | | k rH t
 j j | d }	 |	 | d t |  |  j |  qH qH W|  j | | |  d  S(   Ni    (   R   RK   R	   RL   RM   R   RN   RO   Rw   RP   R   Rp   RQ   R"   R$   R!   (
   R   RR   RS   RT   RU   RV   RW   RX   RY   RZ   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyR[     s    	&c         C   sK   t  j   } d | _ t  j   } | j | j    |  j | j d  d  S(   Nt   blahi    (   R   t
   JustStringt   dummyRp   R   R   R!   R\   (   R   t   just_stringt   missing(    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt!   testUnknownParseMismatchEnumValue$  s
    	c         C   sk   |  j  |  j j d   |  j |  j j d  |  j j   } |  j j d  |  j |  j j   |  d  S(   NR\   i   (   t   assertFalseRw   t   HasFieldR!   R\   R   R>   (   R   R8   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   testUnknownEnumValue1  s
    c         C   s   |  j  g  |  j j  d  S(   N(   R!   Rw   R]   (   R   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   testUnknownRepeatedEnumValue9  s    c         C   s   |  j  g  |  j j  d  S(   N(   R!   Rw   Rt   (   R   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   testUnknownPackedEnumValue<  s    c         C   sF   |  j  d |  j j  |  j  d |  j j  |  j  d |  j j  d  S(   NR\   R]   Rt   (   R[   R$   R\   R]   Rt   (   R   (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt!   testCheckUnknownFieldValueForEnum?  s    			c         C   s9   t  j   } | j |  j j    |  j |  j |  d  S(   N(   R   Rp   R   Rw   R   R!   R$   (   R   t   new_message(    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   testRoundTripH  s    (   RH   RI   R   R[   R}   R   R   R   R   R   R   (    (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyRo      s   							t   __main__(   t   __doc__t
   __author__t	   unittest2R   t   ImportErrort   google.protobufR    R   R   t   google.protobuf.internalR   R   R   R   R   R   R	   t   BaseTestCaseR   R   RJ   Ro   RH   t   main(    (    (    sP   /usr/lib/python2.7/site-packages/google/protobuf/internal/unknown_fields_test.pyt   <module>!   s,   		`\Q