<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</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)iÿÿÿÿN(   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