
    w                     
   S SK r S SKrS SKrS SKrS SKrS SKrS SKrS rS rS r	S r
S rS rS rS	 rS
 r S SKrSrSr S SKrSr S SKr\R2                  R5                  S\R6                   V s/ s H  o R8                  PM     sn 5      S 5       r\R2                  R5                  S\R<                   V s/ s H  o R8                  PM     sn 5      S 5       r\R2                  R5                  S\R@                   V s/ s H  o R8                  PM     sn 5      S 5       r!\R2                  R5                  S\RD                   V s/ s H  o R8                  PM     sn 5      S 5       r#\R2                  R5                  S\RH                   V s/ s H  o R8                  PM     sn 5      S 5       r%\R2                  R5                  S\RL                   V s/ s H  o R8                  PM     sn 5      S 5       r'S r(S r)S r*S r+S r,S r-S r.S r/S r0S r1 " S S5      r2S  r3S! r4S" r5S# r6S$ r7S% r8S& r9S' r:S( r;S) r<S* r=S+ r>S, r?S- r@\R                  (       a  S. rBS/ rCOS0 rBS1 rCS2 rDS3 rES4 rFS5 rGS6 rHS7 rIS8 rJS9 rKS: rLS; rMS< rNS= rOS> rPS? rQS@ rR\R2                  R                  SA5      SB 5       rT\R2                  R                  SC5      SD 5       rUSE rVSF rWSG rX\R2                  R                  SH5      SI 5       rYSJ rZSK r[SL r\SM r]SN r^ " SO SP5      r_g! \ a    Sr GNf = f! \ a     S SKr GN! \ a    Sr  GNf = ff = f! \ a     S SKr GN! \ a    Sr  GNf = ff = fs  sn f s  sn f s  sn f s  sn f s  sn f s  sn f )Q    Nc                  \    S n [         R                  " U S5        U R                  S:X  d   eg )Nc                      g)zIcky docN r       +platform/gsutil/third_party/six/test_six.pyftest_add_doc.<locals>.f!   s    r   zNew doc)six_add_doc__doc__r   s    r   test_add_docr       s)     LLM"99	!!!r   c                  H    SSK Jn   [        R                  " S5      nXL d   eg )Nr   )handlerszlogging.handlers)loggingr   r
   _import_module)r   ms     r   test_import_moduler   (   s      -.A==r   c                  .   [        S[        R                  5      (       d   e[        S[        R                  5      (       d   e[        [        R                  S-   [        R                  5      (       d   e[        S[        R                  5      (       a   eg )N      g?)
isinstancer
   integer_typesMAXSIZEr   r   r   test_integer_typesr   .   sr    a**++++b#++,,,,ckkB&(9(9::::"c//00000r   c                     [        S[        R                  5      (       d   e[        [        R                  " S5      [        R                  5      (       d   e[	        [        R
                  [        R                  5      (       d   eg Nhi)r   r
   string_typesu
issubclass	text_typer   r   r   test_string_typesr$   5   sY    dC,,----ceeDk3#3#34444cmmS%5%56666r   c                      " S S5      n  " S S[         5      n[        U [        R                  5      (       d   e[        U[        R                  5      (       d   e[        U " 5       [        R                  5      (       a   eg )Nc                       \ rS rSrSrg)test_class_types.<locals>.X<   r   N__name__
__module____qualname____firstlineno____static_attributes__r   r   r   Xr'   <       r   r/   c                       \ rS rSrSrg)test_class_types.<locals>.Y>   r   Nr)   r   r   r   Yr2   >   r0   r   r4   )objectr   r
   class_types)r/   r4   s     r   test_class_typesr7   ;   sb     F a))))a))))!#s/////r   c                  h    [        [        R                  " S5      5      [        R                  L d   eg r   )typer
   r!   r#   r   r   r   test_text_typer:   E   s!    d---r   c                  h    [        [        R                  " S5      5      [        R                  L d   eg r   )r9   r
   bbinary_typer   r   r   test_binary_typer>   I   s!    d///r   c                       [         R                  R                  5         [        R
                  " [        [        4[        R                  S /[         R                  S-   5        g ! [         a     NPf = fNr   )
r
   r   	__index__AttributeErrorpytestraises
ValueErrorOverflowErroroperatormulr   r   r   test_MAXSIZErI   M   sV     MM	]#tfckkAo/  s   A$ $
A10A1c                     [         R                  (       a  Sn OSn U [        R                  ;  d   e[         R                  R
                  n[        R                  U    UL d   eS[         R                  R                  ;  d   eg )Nzhtml.parser
HTMLParser
htmlparser)r
   PY3sysmodulesmoveshtml_parser_MovedItems__dict__)	html_namemods     r   	test_lazyrV   Y   sc    
ww!	 	CKK'''
))

C;;y!S(((s77777r   TF	item_namec                     [        [        R                  U 5      n[        U[        R
                  5      (       a  [        SU -   5        U [!        [        R                  5      ;   d   eg! [         a    U S:X  a:  [        R                  R                  S5      (       d  [        R                  " S5        U R                  S5      (       aQ  [        (       d  [        R                  " S5        U S:X  a*  [        R                  S:  a  [        R                  " S	5        U S
:X  a!  [        (       d  [        R                  " S5        U S:X  a  [        R                  " S5        e f = f)'Ensure that everything loads correctly.z
six.moves.winregwinzWindows only moduletkinterzrequires tkintertkinter_tix)      z$tkinter.tix removed from Python 3.13dbm_gnuzrequires gdbmdbm_ndbmzrequires ndbmN)getattrr
   rP   r   types
ModuleType
__import__ImportErrorrN   platform
startswithrC   skiphave_tkinterversion_info	have_gdbmdir)rW   items     r   test_move_itemsro   }   s    syy),dE,,--|i/0 CII&&&   )@)@)G)GKK-.	**<./M)c.>.>'.IBC	!))KK(
"KK(s   AA) )C6Ec                     U [        [        R                  R                  R                  5      ;   d   e[        [        R                  R                  R                  U 5        grY   N)rm   r
   rP   urllibparserb   rW   s    r   test_move_items_urllib_parseru      A     CII,,223333CII""I.r   c                     U [        [        R                  R                  R                  5      ;   d   e[        [        R                  R                  R                  U 5        grq   )rm   r
   rP   rr   errorrb   rt   s    r   test_move_items_urllib_errorry      rv   r   c                     U [        [        R                  R                  R                  5      ;   d   e[        [        R                  R                  R                  U 5        grq   )rm   r
   rP   rr   requestrb   rt   s    r   test_move_items_urllib_requestr|      sA     CII,,445555CII$$i0r   c                     U [        [        R                  R                  R                  5      ;   d   e[        [        R                  R                  R                  U 5        grq   )rm   r
   rP   rr   responserb   rt   s    r   test_move_items_urllib_responser      sA     CII,,556666CII%%y1r   c                     U [        [        R                  R                  R                  5      ;   d   e[        [        R                  R                  R                  U 5        grq   )rm   r
   rP   rr   robotparserrb   rt   s    r   "test_move_items_urllib_robotparserr      sA     CII,,889999CII(()4r   c                  j    SSK Jn   SSKJn  UR                  R
                  R                  (       d   eg )Nr   urljoinrP   )six.moves.urllib.parser   r
   rP   rr   rs   )r   rP   s     r   test_import_moves_error_1r      s!    .<<%%%%r   c                  j    SSK Jn   U R                  R                  R                  (       d   eSSKJn  g )Nr   r   r   )r
   rP   rr   rs   r   r   )rP   r   s     r   test_import_moves_error_2r      s!    <<%%%%.r   c                      SSK Jn   SSKJn   g )Nr   r   )r   r   six.moves.urllib_parser   s    r   test_import_moves_error_3r      s    ..r   c                      SSK Jn   [        U [        R                  5      (       d   eSSKJn  [        U[        R                  5      (       d   eg )Nr   )Queue)ConfigParser)six.moves.queuer   r   r
   r6   six.moves.configparserr   )r   r   s     r   test_from_importsr      s6    %eS__----3lCOO4444r   c                  n    SSK Jn   U " S [        S5      5      n[        R                  " U5      S:X  d   eg )Nr   )filterc                     U S-  $ )N   r   xs    r   <lambda>test_filter.<locals>.<lambda>   s    Qr   
   r   )	six.movesr   ranger
   advance_iterator)r   r   s     r   test_filterr      s.     b	*A"a'''r   c                      SSK Jn   U " S [        S5      5      n[        R                  " U5      S:X  d   e[        R                  " U5      S:X  d   e[        R                  " U5      S:X  d   eg )Nr   )filterfalsec                     U S-  $ )Nr^   r   r   s    r   r   #test_filter_false.<locals>.<lambda>   s    a!er   r   r^      )r   r   r   r
   r   )r   r   s     r   test_filter_falser      s`    %OU2Y/A"a'''"a'''"a'''r   c                  j    SSK Jn   [        R                  " U " S [	        S5      5      5      S:X  d   eg )Nr   mapc                     U S-   $ r@   r   r   s    r   r   test_map.<locals>.<lambda>   s    a!er   r   r   )r   r   r
   r   r   r   s    r   test_mapr      s)    OU1X >?1DDDr   c                  |    SSK Jn   U " [        R                  R	                  S5      (       a  SOS5      nUS:w  d   eg )Nr   )	getoutputr[   rm   zecho foo )r   r   rN   rg   rh   )r   outputs     r   test_getoutputr      s1    # 7 7 > >uJOFR<<r   c                  z    SSK Jn   [        R                  " U " [	        S5      [	        S5      5      5      S:X  d   eg )Nr   zipr   r   r   )r   r   r
   r   r   r   s    r   test_zipr      s-    E!HeAh 78FBBBr   c                      SSK Jn   U " [        S5      [        S5      5      n[        R                  " U5      S:X  d   e[        R                  " U5      S:X  d   eg )Nr   )zip_longestr   r   r   )r   N)r   r   r   r
   r   )r   its     r   test_zip_longestr      sK    %	U1XuQx	(B#v---#y000r   c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestCustomizedMoves   c                      [         R                  ? [         R                  R
                  S	 g ! [         a     N)f = f! [         a     g f = f)Nspam)r
   rR   r   rB   rP   rS   KeyError)selfmeths     r   teardown_method#TestCustomizedMoves.teardown_method   sO    	$			""6*  		  		s   / ? 
<<
AAc                    [         R                  " SSS5      n[         R                  (       a  UR                  S:X  d   eOUR                  S:X  d   eUR                  S:X  d   e[         R                  " SSSS5      nUR                  S:X  d   e[         R                  " SSSSS5      n[         R                  (       a  UR                  S:X  d   eg UR                  S:X  d   eg )Nr   foobarlemmatheorm)r
   MovedAttributerM   rU   attrr   r   s     r   test_moved_attribute(TestCustomizedMoves.test_moved_attribute
  s    !!&%77788u$$$88u$$$yyF"""!!&%@yyG###!!&%J7799(((99'''r   c                 J   [         R                  " SS5      n[         R                  (       a  UR                  S:X  d   eOUR                  S:X  d   e[         R                  " SSS5      n[         R                  (       a  UR                  S:X  d   eg UR                  S:X  d   eg )Nr   r   r   )r
   MovedModulerM   rU   r   s     r   test_moved_module%TestCustomizedMoves.test_moved_module  sz    vu-7788v%%%88u$$$vue47788u$$$88u$$$r   c                    [         R                  " SSS5      n[         R                  " U5        [         R                  " S5        [	        [         R
                  S5      (       a   e[         R                  " SSS5      n[         R                  " U5        SSKJn  U[         L d   e[         R                  " S5        [	        [         R
                  S5      (       a   eg )Nr   r
   r   r   )r
   r   add_moveremove_movehasattrrP   r   r   r   r   r   s      r   test_custom_move_module+TestCustomizedMoves.test_custom_move_module'  s    vue4T399f----vue4T"s{{399f-----r   c                    [         R                  " SSSSS5      n[         R                  " U5        [         R                  " S5        [	        [         R
                  S5      (       a   e[         R                  " SSSSS5      n[         R                  " U5        SSKJn  U[         R                  L d   e[         R                  " S5        [	        [         R
                  S5      (       a   eg )Nr   r
   r!   r   r   )	r
   r   r   r   r   rP   r   r   r!   r   s      r   test_custom_move_attribute.TestCustomizedMoves.test_custom_move_attribute4  s    !!&%SAT399f----!!&%SAT"suu}}399f-----r   c                 X    [         R                  " [        [        R                  S5        g )Neggs)rC   rD   rB   r
   r   r   s    r   test_empty_remove%TestCustomizedMoves.test_empty_removeA  s    ncoov>r   r   N)r*   r+   r,   r-   r   r   r   r   r   r   r.   r   r   r   r   r      s     ( 
%
.
.?r   r   c                       " S S[         5      n [        R                  " U R                  5      U R                  S   L d   eg )Nc                       \ rS rSrS rSrg)$test_get_unbound_function.<locals>.XiF  c                     g Nr   r   s    r   r   &test_get_unbound_function.<locals>.X.mG      r   r   Nr*   r+   r,   r-   r   r.   r   r   r   r/   r   F      	r   r/   r   )r5   r
   get_unbound_functionr   rS   r/   s    r   test_get_unbound_functionr   E  s5    F  ##ACC(AJJsO;;;r   c                       " S S[         5      n U " 5       n[        R                  " UR                  5      UL d   e[        R
                  " [        [        R                  S5        g )Nc                       \ rS rSrS rSrg)test_get_method_self.<locals>.XiM  c                     g r   r   r   s    r   r   !test_get_method_self.<locals>.X.mN  r   r   r   Nr   r   r   r   r/   r   M  r   r   r/   *   )r5   r
   get_method_selfr   rC   rD   rB   r/   r   s     r   test_get_method_selfr   L  sJ    F  	
Aqss#q(((
MM.#"5"5r:r   c                       " S S[         5      n U " 5       n[        R                  " UR                  5      U R                  S   L d   e[
        R                  " [        [        R                  [        5        g )Nc                       \ rS rSrS rSrg)#test_get_method_function.<locals>.XiV  c                     g r   r   r   s    r   r   %test_get_method_function.<locals>.X.mW  r   r   r   Nr   r   r   r   r/   r   V  r   r   r/   r   )	r5   r
   get_method_functionr   rS   rC   rD   rB   r   r   s     r   test_get_method_functionr   U  sR    F  	
A""133'1::c?:::
MM.#"9"97Cr   c                  |    S n [         R                  " U " 5       5      S   n[        U5      R                  S:X  d   eg )Nc                     ^ SmU4S jn U $ )Nr   c                     > T $ r   r   r   s   r   g/test_get_function_closure.<locals>.f.<locals>.ga  s    Hr   r   )r  r   s    @r   r   $test_get_function_closure.<locals>.f_  s    	r   r   cell)r
   get_function_closurer9   r*   )r   r  s     r   test_get_function_closurer  ^  s8    
 ##AC(+D:&(((r   c                      S n [        [        R                  " U 5      [        R                  5      (       d   e[        [        S5      (       d/  [        R                  " [        [        R                  [
        5        g g )Nc                      g r   r   r   r   r   r   !test_get_function_code.<locals>.fi      r   pypy_version_info)
r   r
   get_function_coderc   CodeTyper   rN   rC   rD   rB   r   s    r   test_get_function_coder  h  sR    c++A.????3+,,nc&;&;WE -r   c                  F    SS jn [         R                  " U 5      S:X  d   eg )Nc                     g r   r   )r   yr<   s      r   r   %test_get_function_defaults.<locals>.fq  r  r   )r^      )r
   get_function_defaultsr   s    r   test_get_function_defaultsr  p  s     $$Q'6111r   c                  P    S n [         R                  " U 5      [        5       L d   eg )Nc                      g r   r   r   r   r   r   $test_get_function_globals.<locals>.fw  r  r   )r
   get_function_globalsglobalsr   s    r   test_get_function_globalsr  v  s"    ##A&')333r   c           
        ^	^
 S n " S S[         5      nUR                  nU?[        X!" S5      U5        U" [        [	        S5      [        [	        S5      5      5      5      nS H  n[        [        SU-   5      nU" U5      n[        U[        5      (       a   e[        U5      [        [        XE5      " 5       5      :X  d   e[        R                  " [        [        R                  U5        / m
U	U
4S jn[        X!" U5      5      m	U R                  X!" U5      U5        U" US	S
9  T
S	/:X  d   eU R                  5         M     g )Nc                 :    [         R                  (       a  U $ SU -   $ )zGiven a method suffix like "lists" or "values", return the name
of the dict method that delivers those on the version of Python
we're running in.iter)r
   rM   )iterwhats    r   stock_method_name4test_dictionary_iterators.<locals>.stock_method_name}  s     77O  r   c                   B    \ rS rSr\R
                  (       d  S rS rSrg))test_dictionary_iterators.<locals>.MyDicti  c                 
    / SQ$ N)r   r   r^   r   r   kws     r   lists/test_dictionary_iterators.<locals>.MyDict.lists  s      r   c                     [        / SQ5      $ r&  )r  r'  s     r   	iterlists3test_dictionary_iterators.<locals>.MyDict.iterlists  s    	?"r   r   N)	r*   r+   r,   r-   r
   rM   r)  r,  r.   r   r   r   MyDictr$    s    ww!	#r   r.  r)  r   )keysvaluesitemsr)  r  c                  6   > TR                  US   5        T" U 6 $ )Nr(  )append)argsr(  oldrecords     r   with_kw*test_dictionary_iterators.<locals>.with_kw  s    MM"T(#:r   r   )r(  )dictr,  setattrr   r   reversedrb   r
   r   listrC   rD   StopIterationr   undo)monkeypatchr!  r.  r   dnamer   r   r7  r5  r6  s            @@r   test_dictionary_iteratorsrB  |  s   !# # 	AF%g.2s59huRy123A2sFTM*!Wb$''''Bx4 0 23333mS%9%92>	 f/56F$5d$;WEQ2"~~ 3r   c            	          [        [        [        S5      [        SS5      5      5      n S HF  n[        [        SU-   5      nU" U 5      n[        U5      [        [        X5      " 5       5      :X  a  MF   e   g )Nr         )r/  r0  r1  view)r9  r   r   rb   r
   set)r@  rA  r   rF  s       r   test_dictionary_viewsrH    s_    SrU2r],-A)sFTM*Aw4yC 0 23333 *r   c                     [         R                  [         R                  L d   eSS/n [        U 5      n[         R                  " U5      S:X  d   e[         R                  " U5      S:X  d   e[        R
                  " [        [         R                  U5        [        R
                  " [        [         R                  U5        g )Nr   r   )r
   nextr   r  rC   rD   r=  )lr   s     r   test_advance_iteratorrL    s    88s+++++	
AA	aB88B<188B<1
MM-2.
MM-2.r   c                       " S S[         R                  5      n [         R                  " U " 5       5      S:X  d   e " S SU 5      n[         R                  " U" 5       5      S:X  d   eg )Nc                       \ rS rSrS rSrg)test_iterator.<locals>.myiteri  c                     g)Nr_   r   r   s    r   __next__&test_iterator.<locals>.myiter.__next__      r   r   Nr*   r+   r,   r-   rQ  r.   r   r   r   myiterrO        	r   rU  r_   c                       \ rS rSrS rSrg) test_iterator.<locals>.myitersubi  c                     g)N   r   r   s    r   rQ  )test_iterator.<locals>.myitersub.__next__  rS  r   r   NrT  r   r   r   	myitersubrX    rV  r   r\  rZ  )r
   Iteratorr   )rU  r\  s     r   test_iteratorr^    sX      )R///F  	,222r   c                  4    " S S5      n [         R                  " U 5      (       d   e[         R                  " U " 5       5      (       d   e[         R                  " [        5      (       d   e[         R                  " [        5      (       d   e[         R                  " U R                  5      (       d   e[         R                  " U " 5       R                  5      (       d   e[         R                  " S5      (       a   e[         R                  " S5      (       a   eg )Nc                        \ rS rSrS rS rSrg)test_callable.<locals>.Xi  c                     g r   r   r   s    r   __call__!test_callable.<locals>.X.__call__  r   r   c                     g r   r   r   s    r   methodtest_callable.<locals>.X.method  r   r   r   N)r*   r+   r,   r-   rc  rf  r.   r   r   r   r/   ra    s    		r   r/   r  string)r
   callabletest_callabler   rf  r   s    r   rj  rj    s     
 <<???<<<<&&&&<<    <<!!!!<<

####||A||H%%%%%r   c                       " S S[         5      n S nU " 5       n[        R                  " X5      n[        U[        R
                  5      (       d   eU" 5       UL d   eg )Nc                       \ rS rSrSrg)#test_create_bound_method.<locals>.Xi  r   Nr)   r   r   r   r/   rm    r0   r   r/   c                     U $ r   r   r   s    r   r   #test_create_bound_method.<locals>.f      r   )r5   r
   create_bound_methodr   rc   
MethodType)r/   r   r   r<   s       r   test_create_bound_methodrs    sP    F 	A%Aa))****3!8O8r   c                      " S S[         5      n S n[        R                  " X5      n[        R                  " [
        U5        [        R                  (       a!  [        U[        R                  5      (       d   eU " 5       nU" U5      UL d   eg )Nc                       \ rS rSrSrg)%test_create_unbound_method.<locals>.Xi  r   Nr)   r   r   r   r/   rv    r0   r   r/   c                     U $ r   r   r   s    r   r   %test_create_unbound_method.<locals>.f  rp  r   )
r5   r
   create_unbound_methodrC   rD   	TypeErrorPY2r   rc   rr  )r/   r   r!   r   s       r   test_create_unbound_methodr|    sh    F !!!'A
MM)Q
ww!U--....	AQ4199r   c                      [         R                  " S5      n [        U [        5      (       d   e[	        U 5      S:X  d   eU [        S/5      :X  d   eg )N   ÿr      )r
   r<   r   byteslendatas    r   test_br    sF    uuV}$&&&&4yA~~ucU|###r   c                  n    [         R                  " S5      n [        U [        5      (       d   eU S:X  d   eg )N   hi й й \ \\ 
)r
   r!   r   strss    r   test_ur    s3    EE34!S!!!!5555r   c                      [         R                  " S5      n [        U [        5      (       d   e[	        U 5      S:X  d   eU S:X  d   eg )Nr~  r   )r
   r<   r   r  r  r  s    r   r  r    s>    uuV}$$$$$4yA~~v~~r   c                      [         R                  " S5      n [        U [        5      (       d   eU SR	                  S5      :X  d   eg )Nr  u   hi Ð¹ Ð¹ \ \\ 
utf8)r
   r!   r   unicodedecoder  s    r   r  r    s>    EE34!W%%%%5<<VDDDDr   c                  R    [         R                  " S5      n [        U 5      S:X  d   eg )N   ሴr   )r
   r!   r  r  s    r   test_u_escapesr    s    hAq6Q;;r   c                      [         R                  " S5      [         R                  " S5      :X  d   e[        [         R                  " S5      5      [        [         R                  " S5      5      L d   eg )Nr  i4  )r
   r!   unichrr9   r   r   r   test_unichrr  	  sJ    55?cjj0000h DF);$<<<<r   c                      [         R                  " S5      [         R                  " S5      :X  d   e[        R                  " [
        [         R                  S5        g )Nr^      )r
   int2byter<   rC   rD   	Exceptionr   r   r   test_int2byter    s4    <<?ceeFm+++
MM)S\\3/r   c                  @   [         R                  " [         R                  " S5      5      S:X  d   e[         R                  " [         R                  " S5      5      S:X  d   e[        R                  " [
        [         R                  [         R                  " S5      5        g )Nr  r^   zr   )r
   byte2intr<   rC   rD   
IndexErrorr   r   r   test_byte2intr    s]    <<f&!+++<<j)*a///
MM*cllCEE"I6r   c                  x    [         R                  " [         R                  " S5      S5      [        S5      :X  d   eg )Nhellor^   rK  )r
   
indexbytesr<   ordr   r   r   test_bytesindexr    s'    >>#%%.!,C888r   c                  @   [         R                  " [         R                  " S5      5      n [         R                  " U 5      [	        S5      :X  d   e[         R                  " U 5      [	        S5      :X  d   e[
        R                  " [        [         R                  U 5        g )Nr   hi)r
   	iterbytesr<   rJ  r  rC   rD   r=  )r   s    r   test_bytesiterr    s`    	suuT{	#B88B<3s8###88B<3s8###
MM-2.r   c                      [         R                  " 5       n U R                  [         R                  " S5      5        U R	                  5       [         R                  " S5      :X  d   eg Nr  )r
   StringIOwriter!   getvaluefps    r   test_StringIOr  $  s=    	BHHSUU7^;;=CEE'N***r   c                      [         R                  " 5       n U R                  [         R                  " S5      5        U R	                  5       [         R                  " S5      :X  d   eg r  )r
   BytesIOr  r<   r  r  s    r   test_BytesIOr  *  s=    	BHHSUU7^;;=CEE'N***r   c                      S n U " 5         0 n[         R                  " SU5        US   S:X  d   e0 n0 n[         R                  " SX#5        US   S:X  d   eSU;  d   eUS   S:X  d   eSU;  d   eg )Nc                  F    / n [         R                  " S5        U S/:X  d   eg )Nzl.append(1)r   r
   exec_)rK  s    r   r   test_exec_.<locals>.f1  s     		- QCxxr   zx = 42r   r   zglobal y; y = 42; x = 12r     r  )r   nsgloblocs       r   
test_exec_r  0  s     C	BIIhc7b==D
CII($49??d??s8r>>c>>r   c                     S n [        S5      n Ue! [          a    [        R                  " 5       u  p#n Of = f [        R                  " X#U5        OE! [          a8    [        R                  " 5       u  pVnU[         L d   eXaL d   eX@" U5      L d   e Of = f [        R                  " X#5        O?! [          a2    [        R                  " 5       u  pVnU[         L d   eXaL d   eXtLd   e Of = f [        R                  " X#W5        OF! [          a9    [        R                  " 5       u  pVnU[         L d   eXaL d   eU " U5      WL d   e Of = f [        R                  " US U5        g ! [          aO    [        R                  " 5       u  pVnU[         L d   eXcLd   e[        U[         5      (       d   eX@" U5      L d   e g f = f)Nc                 p    [         R                  (       a  U R                  R                  $ U R                  $ r   )r
   rM   tb_next)tbs    r   get_nexttest_reraise.<locals>.get_nextC  s#    77::%%%::r   blah)r  rN   exc_infor
   reraiser   )	r  etpvalr  tp2value2tb2tb3s	            r   test_reraiser  B  s   
 	&A% %lln%#BR  #<<>Si{{Xc]"""	#
B <<>Si{{}}	
$BS! $<<>Si{{}###	$
#Bb! #<<>Si   &),,,,Xc]"""#sU    "77A ?BBB0 09C,+C,0D A E
EE( (AG Gc                       [        S5      e! [          a=    [        R                  " 5       S   n [        S5      n[        R                  " US 5         O,f = f! [          a    [        R                  " 5       u  p#n Of = f[        R
                  S S S:  a3  WR                  b   eUR                  W L d   eUR                  (       d   e[        W5      S:X  d   eg )Nr  r   r   r   )r^   r   )
r  rN   r  r
   
raise_fromrk   	__cause____context____suppress_context__r  )ctxr   r  r  r  s        r   test_raise_fromr  l  s    %	$F## 	$,,.#C% ANN1d#	$  %lln%
f$}}$$$#%%%''''s8us(    AAA AA "A=<A=c                  ^   [         R                  n [        R                  R	                  5       =n[         l         [        R
                  " SS5        U [         l        UR                  5       S:X  d   e[        R                  " 5       n[        R
                  " SSUS9  UR                  5       S:X  d   e[        R                  " 5       n[        R
                  " SSUSS9  UR                  5       S:X  d   e[        R                  " 5       n[        R
                  " SSUSS	9  UR                  5       S
:X  d   e[        R                  " 5       n[        R
                  " [        R                  " S5      [        R                  " S5      US9  UR                  5       n[        U[        R                  5      (       d   eU[        R                  " S5      :X  d   e[        R
                  " SS S9  [        R                  " 5       n[        R
                  " S US9  UR                  5       S:X  d   e " S S[        R                  5      nU" 5       n[        R
                  " SUS9  UR                  (       a   e[        R
                  " SUSS9  UR                  (       d   eg ! U [         l        f = f)NzHello,zperson!zHello, person!
)filer   )r  endzHello, person!r/   )r  sepzHello,Xperson!
HellozNone
c                        \ rS rSrS rS rSrg)&test_print_.<locals>.FlushableStringIOi  c                 P    [         R                  R                  U 5        SU l        g )NF)r
   r  __init__flushedr   s    r   r  /test_print_.<locals>.FlushableStringIO.__init__  s    LL!!$' DLr   c                     SU l         g )NTr  r   s    r   flush,test_print_.<locals>.FlushableStringIO.flush  s	    DLr   r  N)r*   r+   r,   r-   r  r  r.   r   r   r   FlushableStringIOr    s    	!	 r   r  T)r  r  )rN   stdoutr
   rP   r  print_r  r!   r   r#   r  )saveoutresultr  s       r   test_print_r    s   ::Dyy))++C#*

8Y'
<<>////
,,.CJJx-<<>////
,,.CJJx"5<<>----
,,.CJJx#6<<>////
,,.CJJsuuXi 0s;\\^Ffcmm,,,,SUU-....JJwT"
,,.CJJt#<<>X%%% CLL   
CJJwS!{{?JJwS-;;;= 
s   J J,c                      [         R                  " [        [        R                  SS9  [         R                  " [        [        R                  SS9  [         R                  " [        [        R                  SS9  g )Nr^   r   )r  r   )r  )rC   rD   rz  r
   r  r   r   r   test_print_exceptionsr    s>    
MM)SZZ1-
MM)SZZQ/
MM)SZZR0r   c            	      (    " S S[         5      n  " S S[        R                  " U 5      5      n[        U5      U L d   e[        U[        5      (       d   e " S S[        5      n " S S[        R                  " X5      5      n[        U5      U L d   e[        X5      (       d   e " S S	[        5      n " S
 S[        R                  " XU5      5      n[        U5      U L d   e[        X5      (       d   e[        X5      (       d   eUR
                  XU[        4:X  d   e " S S[        R                  " U 5      5      n " S SU 5      n " S S[        R                  " XA5      5      n[        U5      UL d   eUR
                  XQ[        4:X  d   eg )Nc                       \ rS rSrSrg)!test_with_metaclass.<locals>.Metai  r   Nr)   r   r   r   Metar    r0   r   r  c                       \ rS rSrSrg)test_with_metaclass.<locals>.Xi  r   Nr)   r   r   r   r/   r    r0   r   r/   c                       \ rS rSrSrg)!test_with_metaclass.<locals>.Basei  r   Nr)   r   r   r   Baser    r0   r   r  c                       \ rS rSrSrg)r  i  r   Nr)   r   r   r   r/   r    r0   r   c                       \ rS rSrSrg)"test_with_metaclass.<locals>.Base2i  r   Nr)   r   r   r   Base2r    r0   r   r  c                       \ rS rSrSrg)r  i  r   Nr)   r   r   r   r/   r    r0   r   c                       \ rS rSrSrg)r  i  r   Nr)   r   r   r   r/   r    r0   r   c                       \ rS rSrSrg)$test_with_metaclass.<locals>.MetaSubi  r   Nr)   r   r   r   MetaSubr    r0   r   r   c                       \ rS rSrSrg)test_with_metaclass.<locals>.Yi  r   Nr)   r   r   r   r4   r    r0   r   r4   )r9   r
   with_metaclassr"   r5   __mro__)r  r/   r  r  r   r4   s         r   test_with_metaclassr    s^   t Ct$ 7d??a    v Ct* 7d??a Ct51 7d??aa99%0000Ct$ $ Cw* 7g99v&&&r   c            	           SS K n  " S S[        5      n[
        R                  S S S:  a   " S SUW R                  5      nW R                  S5      n " S	 S
[        R                  " XR                  U   5      5      n " S S[        R                  " [        R                  U R                  U   5      5      n[        X15      (       d   e[        U[        R                  5      (       d   eU[           X3[              Ld   eU[           XD[              Ld   eUR                   U R                  4:X  d   eUR"                  U R                  U   4:X  d   eg ! [         a    [        R                  " S5         GNvf = f)Nr   ztyping module requiredc                       \ rS rSrSrg)(test_with_metaclass_typing.<locals>.Metai  r   Nr)   r   r   r   r  r    r0   r   r  r   )r^      c                       \ rS rSrSrg)r  i  r   Nr)   r   r   r   r  r    s    r   Tc                       \ rS rSrSrg)%test_with_metaclass_typing.<locals>.Gi  r   Nr)   r   r   r   Gr    r0   r   r  c                       \ rS rSrSrg)&test_with_metaclass_typing.<locals>.GAi  r   Nr)   r   r   r   GAr    r0   r   r  )typingrf   rC   ri   r9   rN   rk   GenericMetaTypeVarr
   r  GenericabcABCMetar   int	__bases____orig_bases__)r  r  r  r  r  s        r   test_with_metaclass_typingr    sB   .t 
f$	4++ 	sACt^^A%67 SV^^A->? ab#++&&&&S6S6"""c7"W+%%%;;6>>++++q 13333%  .,-.s   E  E=<E=zsys.version_info[:2] < (3, 7)c                    ^^  " S S[         5      n  " S S5      m " S S5      m " UU4S jS5      nU" 5       n " S	 S
[        R                  " X5      5      n " S S[        R                  " [        R                  U5      5      n[        X05      (       d   e[        U[        R                  5      (       d   eUR                  TT4:X  d   eUR                  U4:X  d   eg )Nc                       \ rS rSrSrg))test_with_metaclass_pep_560.<locals>.Metai  r   Nr)   r   r   r   r  r    r0   r   r  c                       \ rS rSrSrg)&test_with_metaclass_pep_560.<locals>.Ai  r   Nr)   r   r   r   Ar     r0   r   r!  c                       \ rS rSrSrg)&test_with_metaclass_pep_560.<locals>.Bi  r   Nr)   r   r   r   Br#    r0   r   r$  c                   $   > \ rS rSrU U4S jrSrg))test_with_metaclass_pep_560.<locals>.Fakei  c                    > TT4$ r   r   )r   basesr!  r$  s     r   __mro_entries__9test_with_metaclass_pep_560.<locals>.Fake.__mro_entries__  s    q6Mr   r   N)r*   r+   r,   r-   r)  r.   )r!  r$  s   r   Faker&    s    	 	r   r+  c                       \ rS rSrSrg)&test_with_metaclass_pep_560.<locals>.Gi  r   Nr)   r   r   r   r  r-    r0   r   r  c                       \ rS rSrSrg)'test_with_metaclass_pep_560.<locals>.GAi  r   Nr)   r   r   r   r  r/    r0   r   r  )r9   r
   r  r  r  r   r  r  )r  r+  faker  r  r!  r$  s        @@r   test_with_metaclass_pep_560r1    s    t     6DCt* ST2 ab#++&&&&;;1a&   w&&&r   zsys.version_info[:2] < (3, 0)c                  :  ^  " S S[         5      m " U4S jS[        5      n  " S S[        5      nU4n " S S[        R                  " U /UQ76 5      n[        US	[        5      U L d   e[        US
S5      U:X  d   e[        [        US0 5      T5      (       d   eg)zYTest that with_metaclass causes Meta.__prepare__ to be called with the correct arguments.c                       \ rS rSrSrg)+test_with_metaclass_prepare.<locals>.MyDicti  r   Nr)   r   r   r   r.  r4    r0   r   r.  c                   6   >^  \ rS rSr\UU 4S j5       rSrU =r$ ))test_with_metaclass_prepare.<locals>.Metai  c                 8   > T" [         TU ]  X5      XS9nX3S'   U$ )N)clsr(  	namespace)super__prepare__)r8  rA  r(  r9  r.  	__class__s       r   r;  5test_with_metaclass_prepare.<locals>.Meta.__prepare__  s'    uw24?SVI%.k"r   r   )r*   r+   r,   r-   classmethodr;  r.   __classcell__)r<  r.  s   @r   r  r6    s    		 
	r   r  c                       \ rS rSrSrg))test_with_metaclass_prepare.<locals>.Basei	  r   Nr)   r   r   r   r  rA  	  r0   r   r  c                       \ rS rSrSrg)&test_with_metaclass_prepare.<locals>.Xi  r   Nr)   r   r   r   r/   rC    r0   r   r/   r8  r(  r   r9  N)r9  r9   r5   r
   r  rb   r   )r  r  r(  r/   r.  s       @r   test_with_metaclass_preparerD    s     t v  GECt,e,  1eT"d***1gr"e+++gab16::::r   c                     S n S nUnU " U " U5      5      n[        US5      (       d   eUR                  n[        US5      (       d   eUR                  nXL d   e[        US5      (       a   eS n SS0Ul        SUl        U " USS	/S
S/5      nUR                  S:X  d   eUR                  S:X  d   e[        US	5      (       a   eUR                  SSS.:X  d   eUR
                  SS0:X  d   eg )Nc                 >    [         R                  " U 5      S 5       nU$ )Nc                      gNr   r   r   r   r   w test_wraps.<locals>.f.<locals>.w  s    r   )r
   wraps)r  rI  s     r   r   test_wraps.<locals>.f  s!    	1	 
	r   c                      g r   r   r   r   r   ktest_wraps.<locals>.k  r  r   __wrapped__c                 f    S nSS0Ul         SS0Ul        [        R                  " XU5      " U5      $ )Nc                      grH  r   r   r   r   rI  rJ  (  rS  r   r   r   quxquux)gluexyzzyr
   rK  )r  assignupdaterI  s       r   r   rL  '  s3    	&/yyF+A..r   melonegg+   turnipbazrU  rV  rI  r   )rY  r   rS  rT  )r   rP  rU  r\  r*   rV  )r   rN  
original_ks      r   
test_wrapsr_    s   
J	!A$A1m$$$$	A1m$$$$	A??q-((((/ uAFAH	!h 12A::88r>>q%    66uU333377ufo%%%r   c                      S n S n[         R                  " [        SS9   [        R                  " U / S/5      " U5        SSS5        g! , (       d  f       g= f)zwEnsure six.wraps doesn't ignore missing attrs wrapper.

Because that's what happens in Py3's functools.update_wrapper.
c                      g r   r   r   r   r   wrappedFtest_wraps_raises_on_missing_updated_field_on_wrapper.<locals>.wrapped<  r  r   c                      g r   r   r   r   r   wrapperFtest_wraps_raises_on_missing_updated_field_on_wrapper.<locals>.wrapper?  r  r   zhas no attribute.*xyzzy)matchrV  N)rC   rD   rB   r
   rK  )rb  re  s     r   5test_wraps_raises_on_missing_updated_field_on_wrapperrh  7  sA    
 
~-F	G		'2y)'2 
H	G	Gs    A		
Ac                      " S S[         5      n  " S S5      n[        R                  " U 5      " U5      n[        U5      U L d   e[        U[        5      (       d   eUR
                  [        :X  d   eUR                  S:X  d   e " S S[        5      n " S SU5      n[        R                  " U 5      " U5      n[        U5      U L d   e[        X5      (       d   e " S	 S
[        5      n " S SX#5      n[        R                  " U 5      " U5      n[        U5      U L d   e[        X5      (       d   e[        X5      (       d   e " S S[         5      n " S SU5      n " S S5      n[        R                  " U5      " U5      n " S SU5      n[        R                  " U5      " U5      n[        U5      UL d   e[        X5      (       d   e[        U5      UL d   eS[        U5      ;  d   eU" 5       nSUl	        [        U5      SS0:X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   e " S S[        5      n[        R                  " U5      " U5      nUR                  SS/:X  d   eU" 5       nSUl        [        R                  " [         ["        USS5         " S S[        5      n[        R                  " U5      " U5      nUR                  S:X  d   eU" 5       nSUl        [        R                  " [         ["        USS5        [        R                  " [         ["        USS5         " S S [        5      n	[        R                  " U 5      " U	5      n	[        U	5      U L d   eg )!Nc                       \ rS rSrSrg) test_add_metaclass.<locals>.MetaiH  r   Nr)   r   r   r   r  rk  H  r0   r   r  c                       \ rS rSrSrSrg)test_add_metaclass.<locals>.XiJ  successr   N)r*   r+   r,   r-   r   r.   r   r   r   r/   rm  J  s    r   r/   rn  c                       \ rS rSrSrg) test_add_metaclass.<locals>.BaseiQ  r   Nr)   r   r   r   r  rp  Q  r0   r   r  c                       \ rS rSrSrg)rm  iS  r   Nr)   r   r   r   r/   rm  S  r0   r   c                       \ rS rSrSrg)!test_add_metaclass.<locals>.Base2iX  r   Nr)   r   r   r   r  rs  X  r0   r   r  c                       \ rS rSrSrg)rm  iZ  r   Nr)   r   r   r   r/   rm  Z  r0   r   c                       \ rS rSrSrSrg)!test_add_metaclass.<locals>.Meta1ib  m1r   N)r*   r+   r,   r-   rw  r.   r   r   r   Meta1rv  b      r   rx  c                       \ rS rSrSrSrg)!test_add_metaclass.<locals>.Meta2id  m2r   N)r*   r+   r,   r-   r|  r.   r   r   r   Meta2r{  d  ry  r   r}  c                       \ rS rSrSrSrg)rp  if  r<   r   N)r*   r+   r,   r-   r<   r.   r   r   r   r  rp  f      r   c                       \ rS rSrSrSrg)rm  ii  r   r   N)r*   r+   r,   r-   r   r.   r   r   r   r/   rm  i  r  r   rS   testr   c                       \ rS rSrSS/rSrg)#test_add_metaclass.<locals>.MySlotsiw  ar<   r   Nr*   r+   r,   r-   	__slots__r.   r   r   r   MySlotsr  w  s    #J	r   r  r  r<   r   cr]  c                       \ rS rSrSrSrg))test_add_metaclass.<locals>.MyStringSlotsi  abr   Nr  r   r   r   MyStringSlotsr    s    	r   r  r  c                       \ rS rSrSrSrg)*test_add_metaclass.<locals>.MySlotsWeakrefi  )__weakref__r   Nr  r   r   r   MySlotsWeakrefr    s    "	r   r  )r9   r
   add_metaclassr"   r5   r+   r*   r   varsr   r<   r   r  r  rC   rD   rB   r:  r  )
r  r/   r  r  rx  r}  instancer  r  r  s
             r   test_add_metaclassr  G  s   t  $"A7d??a    <<8###99	!!!v D $"A7d??a D $"A7d??aa   U#D)DD % #A7ea:T!W$$$sHHM>ff----::::& &w/Gc
***yHHJ
MM.'8S%@ %%e,];M""d***HHK
MM.'8S%@
MM.'8S%@# #&&t,^<N4'''r   zsys.version_info[:2] < (3, 3)c                     ^  " S S[         5      m " S S5      n SnU R                  R                  U:X  d   e " U4S jS5      n U R                  R                  U:X  d   eg )Nc                       \ rS rSrSrg)'test_add_metaclass_nested.<locals>.Metai  r   Nr)   r   r   r   r  r    r0   r   r  c                   (    \ rS rSr " S S5      rSrg)$test_add_metaclass_nested.<locals>.Ai  c                       \ rS rSrSrg)&test_add_metaclass_nested.<locals>.A.Bi  r   Nr)   r   r   r   r$  r    s    r   r$  r   N)r*   r+   r,   r-   r$  r.   r   r   r   r!  r    s    r   r!  r  c                   V   > \ rS rSr\R
                  "  Y 5       " S S5      5       rSrg)r  i  c                       \ rS rSrSrg)r  i  r   Nr)   r   r   r   r$  r    s    r   r$  r   N)r*   r+   r,   r-   r
   r  r$  r.   )r  s   r   r!  r    s    			4	  
!r   )r9   r$  r,   )r!  expectedr  s     @r   test_add_metaclass_nestedr    s\    t   8H33x'''  33x'''r   c                  b     " S S[         R                  5      n U " S5      R                  5         g )Nc                       \ rS rSrS rSrg)3test_assertCountEqual.<locals>.TestAssertCountEquali  c                     U R                  [        5         [        R                  " U S/ SQ5        S S S 5        [        R                  " U SSS/5        g ! , (       d  f       N)= f)N)r   r   )r^   r     r   r   )assertRaisesAssertionErrorr
   assertCountEqualr   s    r   r  8test_assertCountEqual.<locals>.TestAssertCountEqual.test  sH    "">2$$T69= 3   v1v6 32s   A
A"r   Nr*   r+   r,   r-   r  r.   r   r   r   TestAssertCountEqualr    s    	7r   r  r  unittestTestCaser  )r  s    r   test_assertCountEqualr    s'    7x00 7  %%'r   c                  b     " S S[         R                  5      n U " S5      R                  5         g )Nc                       \ rS rSrS rSrg))test_assertRegex.<locals>.TestAssertRegexi  c                     U R                  [        5         [        R                  " U SS5        S S S 5        [        R                  " U SS5        g ! , (       d  f       N'= f)Nr  ^a^t)r  r  r
   assertRegexr   s    r   r  .test_assertRegex.<locals>.TestAssertRegex.test  s@    "">2fe4 3 OOD&%0 32   A
Ar   Nr  r   r   r   TestAssertRegexr    s    	1r   r  r  r  )r  s    r   test_assertRegexr    s'    1(++ 1 F  "r   c                  b     " S S[         R                  5      n U " S5      R                  5         g )Nc                       \ rS rSrS rSrg)/test_assertNotRegex.<locals>.TestAssertNotRegexi  c                     U R                  [        5         [        R                  " U SS5        S S S 5        [        R                  " U SS5        g ! , (       d  f       N'= f)Nr  r  r  )r  r  r
   assertNotRegexr   s    r   r  4test_assertNotRegex.<locals>.TestAssertNotRegex.test  sD    "">2""47 3 tVU3 32r  r   Nr  r   r   r   TestAssertNotRegexr    s    	4r   r  r  r  )r  s    r   test_assertNotRegexr    s'    4X.. 4 v##%r   c                  b     " S S[         R                  5      n U " S5      R                  5         g )Nc                       \ rS rSrS rSrg)5test_assertRaisesRegex.<locals>.TestAssertRaisesRegexi  c                 H   [         R                  " U [        S5         [        S5      e! , (       d  f       O= fU R                  [        5         [         R                  " U [        S5         [        S5      e! , (       d  f       O= f S S S 5        g ! , (       d  f       g = f)Nz^FooFooBar)r
   assertRaisesRegexr  r  r   s    r   r  :test_assertRaisesRegex.<locals>.TestAssertRaisesRegex.test  so    &&t^VD$U++ ED "">2**4I(// JII 322s&   )
7B,A88
B	B
B!r   Nr  r   r   r   TestAssertRaisesRegexr    s    	0r   r  r  r  )r  s    r   test_assertRaisesRegexr    s'    0 1 1 0 &!&&(r   c                  f   [         R                   " S S[        5      5       n U " 5       n[         R                  (       aK  [	        U5      [         R
                  " S5      :X  d   e[        U5      [         R                  " S5      :X  d   eO_[         R                  (       aJ  [        U5      [         R
                  " S5      :X  d   e[	        U5      [         R                  " S5      :X  d   e[        [         R                  R                  S[        5      " U5      [         R
                  " S5      :X  d   eg )Nc                        \ rS rSrS rS rSrg)0test_python_2_unicode_compatible.<locals>.MyTesti  c                 .    [         R                  " S5      $ r  )r
   r!   r   s    r   __str__8test_python_2_unicode_compatible.<locals>.MyTest.__str__      55>!r   c                 .    [         R                  " S5      $ r  )r
   r<   r   s    r   	__bytes__:test_python_2_unicode_compatible.<locals>.MyTest.__bytes__  r  r   r   N)r*   r+   r,   r-   r  r  r.   r   r   r   MyTestr    s    	"	"r   r  r  r  )r
   python_2_unicode_compatibler5   r{  r  r<   r  r!   rM   r  rb   rP   builtins)r  my_tests     r    test_python_2_unicode_compatibler    s    $$" " %" hG
ww7|suuW~---w355>111	W~w///7|suuW~---399%%w4W=wOOOr   c                   Z    \ rS rSr\R
                  " S5      rSrS rS r	S r
S rS rS	rg
)EnsureTestsi  u   😀s   😀c                     [         R                  " [        5         [        R                  " S5        S S S 5        g ! , (       d  f       g = f)N   )rC   rD   rz  r
   
ensure_strr   s    r   #test_ensure_binary_raise_type_error/EnsureTests.test_ensure_binary_raise_type_error  s&    ]]9%NN1 &%%s	   ;
A	c                     [         R                  " U R                  SSS9  [        R                  " [
        5         [         R                  " U R                  SSS9  S S S 5        g ! , (       d  f       g = f)Nzlatin-1ignoreencodingerrorsstrict)r
   ensure_binaryUNICODE_EMOJIrC   rD   UnicodeEncodeErrorr   s    r   test_errors_and_encoding$EnsureTests.test_errors_and_encoding  sK    $,,yR]]-.d009XV /..s   !A%%
A3c                    [         R                  " U R                  SSS9n[         R                  " U R                  SSS9n[         R                  (       aM  XR                  :X  a  [        U[        5      (       d   eX R                  :X  a  [        U[        5      (       d   eg XR                  :X  a  [        U[        5      (       d   eX R                  :X  a  [        U[        5      (       d   eg Nzutf-8r  r  )r
   r  r  BINARY_EMOJIr{  r   r  r  r   converted_unicodeconverted_binarys      r   test_ensure_binary_raise$EnsureTests.test_ensure_binary_raise  s    --d.@.@7[cd,,T->->Yab77$(9(99jIZ\_>`>```#'8'88ZHXZ]=^=^^^=^ %(9(99jIZ\a>b>bbb#'8'88ZHXZ_=`=```=`r   c                    [         R                  " U R                  SSS9n[         R                  " U R                  SSS9n[         R                  (       aM  XR                  :X  a  [        U[        5      (       d   eX R                  :X  a  [        U[        5      (       d   eg XR                  :X  a  [        U[        5      (       d   eX R                  :X  a  [        U[        5      (       d   eg r  )r
   r  r  r  r{  r   r  r  s      r   test_ensure_strEnsureTests.test_ensure_str  s    NN4+=+=X`a>>$*;*;gV^_77$(9(99jIZ\_>`>```#'8'88ZHXZ]=^=^^^=^ %(:(::zJ[]`?a?aaa#'9'99jIZ\_>`>```>`r   c                    [         R                  " U R                  SSS9n[         R                  " U R                  SSS9n[         R                  (       aM  XR                  :X  a  [        U[        5      (       d   eX R                  :X  a  [        U[        5      (       d   eg XR                  :X  a  [        U[        5      (       d   eX R                  :X  a  [        U[        5      (       d   eg r  )r
   ensure_textr  r  r{  r   r  r  r  s      r   test_ensure_textEnsureTests.test_ensure_text  s    OOD,>,>Yab??4+<+<wW_`77$(:(::zJ[]d?e?eee#'9'99jIZ\c>d>ddd>d %(:(::zJ[]`?a?aaa#'9'99jIZ\_>`>```>`r   r   N)r*   r+   r,   r-   r
   r!   r  r  r  r  r  r  r  r.   r   r   r   r  r    s4     EE,'M&LW
aaar   r  )`rG   rN   rc   r  r  rC   r
   r   r   r   r$   r7   r:   r>   rI   rV   _tkinterrj   rf   rl   gdbmdbm.gnudbm	have_ndbmdbm.ndbmmarkparametrize_moved_attributesrA  ro   _urllib_parse_moved_attributesru   _urllib_error_moved_attributesry    _urllib_request_moved_attributesr|   !_urllib_response_moved_attributesr   $_urllib_robotparser_moved_attributesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  rB  rH  rL  r^  rj  rs  r|  rM   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  skipifr1  rD  r_  rh  r  r  r  r  r  r  r  r  )rn   s   0r   <module>r     s1  *  
   
  
"170.0	/8 L	 	 141F1FG1F991FGI'I', 141S1ST1S991STV/V/ 141S1ST1S991STV/V/ 141U1UV1U991UVX1X1 141V1VW1V991VWY2Y2 141Y1YZ1Y991YZ\5\5&//5((E
C
1E? E?P<;D)F24"J4/3&  77$6E
=
0
79/++$'#T($N1'>40 34' 5'* 34; 5;6&B3 F(R 34( 5(&(#&
)P*7a 7aC  L   	   	 H0 U U W X [s   L L# 	M 1M'
7M,
=M1
M6
	M;
N 
L L #M*L11L>9M=L>>MM$MM M$M  M$