
    [4%e+&                        d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
mZmZmZmZmZmZmZ d dlZd dlmZ ej        rd dlmZmZ  G d dej                  Z G d	 d
e          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d dej                  Z G d dej                  Z  G d dej                  Z! G d dej                  Z" G d dej                  Z# G d d ej                  Z$ G d! d"ej                  Z% G d# d$ej                  Z&dS )%    )StringION)utf8)raise_exc_infoConfigurableexec_inArgReplacertimedelta_to_secondsimport_objectre_unescapeis_finalizing)cast)DictAnyc                       e Zd Zd ZdS )RaiseExcInfoTestc                 *    G d dt                     }	  |dd          # |$ r t          j                    }Y nw xY w	 t          |           |                     d           d S # |$ r'}|                     ||d                    Y d }~d S d }~ww xY w)Nc                        e Zd Z fdZ xZS )@RaiseExcInfoTest.test_two_arg_exception.<locals>.TwoArgExceptionc                 f    t                                                       ||c| _        | _        d S N)super__init__ab)selfr   r   	__class__s      6lib/python3.11/site-packages/tornado/test/util_test.pyr   zIRaiseExcInfoTest.test_two_arg_exception.<locals>.TwoArgException.__init__!   s,      """!"A    )__name__
__module____qualname__r   __classcell__)r   s   @r   TwoArgExceptionr       s8        & & & & & & & & &r   r#         zdidn't get expected exception)	Exceptionsysexc_infor   failassertIs)r   r#   r(   es       r   test_two_arg_exceptionz'RaiseExcInfoTest.test_two_arg_exception   s    	& 	& 	& 	& 	&i 	& 	& 	&
	&!/!Q''' 	& 	& 	&|~~HHH	&	*8$$$II566666 	* 	* 	*MM!Xa[)))))))))	*s$   ! << $A& &B+BBN)r   r    r!   r,    r   r   r   r      s#        * * * * *r   r   c                   :    e Zd Zed             Zed             ZdS )TestConfigurablec                     t           S r   )r/   clss    r   configurable_basez"TestConfigurable.configurable_base1   s    r   c                     t           S r   )TestConfig1r1   s    r   configurable_defaultz%TestConfigurable.configurable_default5       r   Nr   r    r!   classmethodr3   r6   r-   r   r   r/   r/   0   sH            [    [  r   r/   c                       e Zd ZddZdS )r5   Nc                 "    || _         || _        d S r   )r   pos_arg)r   r<   r   s      r   
initializezTestConfig1.initialize;       r   NNr   r    r!   r=   r-   r   r   r5   r5   :   (             r   r5   c                       e Zd ZddZdS )TestConfig2Nc                 "    || _         || _        d S r   )r   r<   )r   r<   r   s      r   r=   zTestConfig2.initializeA   r>   r   r?   r@   r-   r   r   rC   rC   @   rA   r   rC   c                   :    e Zd Zed             Zed             ZdS )TestConfig3c                     t           S r   )rF   r1   s    r   r3   zTestConfig3.configurable_baseH   r7   r   c                     t           S r   )TestConfig3Ar1   s    r   r6   z TestConfig3.configurable_defaultL   s    r   Nr8   r-   r   r   rF   rF   F   sH          [   [  r   rF   c                       e Zd ZddZdS )rI   Nc                     || _         d S r   r   )r   r   s     r   r=   zTestConfig3A.initializeR       r   r   r@   r-   r   r   rI   rI   Q   (             r   rI   c                       e Zd ZddZdS )TestConfig3BNc                     || _         d S r   r   )r   r   s     r   r=   zTestConfig3B.initializeW   rM   r   r   r@   r-   r   r   rP   rP   V   rN   r   rP   c                   J    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 ZdS )ConfigurableTestc                 ~    t                                           | _        t                                          | _        d S r   )r/   _save_configurationsavedrF   saved3r   s    r   setUpzConfigurableTest.setUp\   s,    %99;;
!5577r   c                     t                               | j                   t                              | j                   d S r   )r/   _restore_configurationrW   rF   rX   rY   s    r   tearDownzConfigurableTest.tearDown`   s4    //
;;;**4;77777r   c                 N   |                      t                      t                     |                      t                      t                     t          d          }|                     |j        d           t          d          }|                     |j        d           d S Nr$   rL   r%   rR   )assertIsInstancer5   rC   assertEqualr   r   r   objobj2s      r   checkSubclassesz ConfigurableTest.checkSubclassesd   s     	kmm[999kmm[999A"""Q#####r   c                    t          t          t                                }|                     |t                     |                     |j        d            t          t          t          d                    }|                     |t                     |                     |j        d           |                                  d S )Nr$   rL   )r   r5   r/   r`   r*   r   ra   re   r   rc   s     r   test_defaultzConfigurableTest.test_defaulto   s     ; 0 2 233c;///ceT"""; 01 5 5 566c;///"""r   c                    t                               t                     t          t          t                                }|                     |t                     |                     |j        d            t          t          t          d                    }|                     |t                     |                     |j        d           |                                  d S )Nr%   rR   )	r/   	configurerC   r   r`   r*   r   ra   re   rg   s     r   test_config_classz"ConfigurableTest.test_config_class}   s    "";///; 0 2 233c;///ceT"""; 01 5 5 566c;///"""r   c                    t                               d           t          t          t                                }|                     |t                     |                     |j        d            t          t          t          d                    }|                     |t                     |                     |j        d           |                                  d S )Nz"tornado.test.util_test.TestConfig2r%   rR   )	r/   rj   r   rC   r`   r*   r   ra   re   rg   s     r   test_config_strz ConfigurableTest.test_config_str   s    ""#GHHH; 0 2 233c;///ceT"""; 01 5 5 566c;///"""r   c                 P   t                               d d           t          t          t                                }|                     |t                     |                     |j        d           t          t          t          dd                    }|                     |t                     |                     |j        d           |                     |j        d           |                                  t                      }| 	                    |j        d            d S )N   rL   *      )
r/   rj   r   r5   r`   ra   r   r<   re   r*   rg   s     r   test_config_argsz!ConfigurableTest.test_config_args   s    ""41"---; 0 2 233c;///"""; 0q 9 9 9::c;///"""b)))mmceT"""""r   c                 Z   t                               t          d           t          t          t                                }|                     |t                     |                     |j        d           t          t          t          dd                    }|                     |t                     |                     |j        d           |                     |j        d           |                                  t                      }| 	                    |j        d            d S )N   rR   rp      )
r/   rj   rC   r   r`   ra   r   r<   re   r*   rg   s     r   test_config_class_argsz'ConfigurableTest.test_config_class_args   s    "";!"444; 0 2 233c;///"""; 0q 9 9 9::c;///"""b)))mmceT"""""r   c                 $   t                               t          d           t          t          t                                }|                     |t                     |                     |j        d           t                               t                     t                              t          d           t          t          t                                }|                     |t                     |                     |j	        d           d S r_   )
r/   rj   rF   r   rI   r`   ra   r   rP   r   rb   s      r   test_config_multi_levelz(ConfigurableTest.test_config_multi_level   s    "";!"444<!1!3!344c<000""""";///la000L"2"4"455dL111#####r   c                    t                      }|                     |t                     t                               t                     t                      }|                     |t                     t                      }|                     |t                     t
                              t                     t                      }|                     |t                     t                      }|                     |t                     d S r   )rF   r`   rI   rj   rP   r/   r5   rC   )r   rc   rd   obj3s       r   test_config_inner_levelz(ConfigurableTest.test_config_inner_level   s     mmc<000l+++mmc<000  !!dK000"";///!!dK000mmc<00000r   N)r   r    r!   rZ   r]   re   rh   rk   rm   rr   rv   rx   r{   r-   r   r   rT   rT   [   s        8 8 88 8 8	$ 	$ 	$  
 
 

 
 
# # # # # # 
$ 
$ 
$1 1 1 1 1r   rT   c                       e Zd Zd ZdS )UnicodeLiteralTestc                 L    |                      t          d          d           d S )N   és   é)ra   r   rY   s    r   test_unicode_escapesz'UnicodeLiteralTest.test_unicode_escapes   s$    h55555r   N)r   r    r!   r   r-   r   r   r}   r}      s#        6 6 6 6 6r   r}   c                   @    e Zd Z ej        d          d             ZdS )
ExecInTestzno testable future importsc                     t                      }t          d|           t          dt          |                     |                     |                                d           d S )Nhello)filezprint >> f, "world")fzhello
world
)r   printr   dictra   getvalue)r   r   s     r   test_no_inherit_futurez!ExecInTest.test_no_inherit_future   s^     JJgA%tayyy111'788888r   N)r   r    r!   unittestskipr   r-   r   r   r   r      s=         X]/009 9 109 9 9r   r   c                   &    e Zd Zd Zd Zd Zd ZdS )ArgReplacerTestc                 8    dd}t          |d          | _        d S )Nc                     d S r   r-   )xycallbackzs       r   functionz'ArgReplacerTest.setUp.<locals>.function   s    Dr   r   r?   )r   replacer)r   r   s     r   rZ   zArgReplacerTest.setUp   s-    	 	 	 	 $Hj99r   c                    d}t                      }|                     | j                            ||          d            |                     | j                            d||          d dt          d          f           d S )N)r$   r%   new)r   )r   r*   r   get_old_valuera   replacer   argskwargss      r   test_omittedzArgReplacerTest.test_omitted   s    dm11$??FFFM!!%v6664///0	
 	
 	
 	
 	
r   c                    d}t                      }|                     | j                            ||          d           |                     | j                            d||          dg dt                      f           d S )N)r$   r%   oldro   r   r   )r$   r%   r   ro   r   ra   r   r   r   r   s      r   test_positionzArgReplacerTest.test_position   s    44T6BBEJJJM!!%v66$$$dff-	
 	
 	
 	
 	
r   c           
         d}t          ddd          }|                     | j                            ||          d           |                     | j                            d||          ddt          ddd          f           d S )N)r$   r%   r   ro   )r   r   r   r   r   r   s      r   test_keywordzArgReplacerTest.test_keyword  s    EQ///44T6BBEJJJM!!%v66D$Ua8889	
 	
 	
 	
 	
r   N)r   r    r!   rZ   r   r   r   r-   r   r   r   r      sP        : : :
 
 

 
 

 
 
 
 
r   r   c                       e Zd Zd ZdS )TimedeltaToSecondsTestc                 v    t          j        d          }|                     t          |          d           d S )Nr$   )hoursg      @)datetime	timedeltara   r	   )r   
time_deltas     r   test_timedelta_to_secondsz0TimedeltaToSecondsTest.test_timedelta_to_seconds  s:    'a000
-j996BBBBBr   N)r   r    r!   r   r-   r   r   r   r     s(        C C C C Cr   r   c                   &    e Zd Zd Zd Zd Zd ZdS )ImportObjectTestc                 V    |                      t          d          t                     d S Nztornado.escape.utf8r*   r
   r   rY   s    r   test_import_memberz#ImportObjectTest.test_import_member  %    m$9::DAAAAAr   c                 V    |                      t          d          t                     d S r   r   rY   s    r   test_import_member_unicodez+ImportObjectTest.test_import_member_unicode  r   r   c                 `    |                      t          d          t          j                   d S Nztornado.escaper*   r
   tornadoescaperY   s    r   test_import_modulez#ImportObjectTest.test_import_module  s'    m$455w~FFFFFr   c                 `    |                      t          d          t          j                   d S r   r   rY   s    r   test_import_module_unicodez+ImportObjectTest.test_import_module_unicode  s)     	m$455w~FFFFFr   N)r   r    r!   r   r   r   r   r-   r   r   r   r     s^        B B BB B BG G GG G G G Gr   r   c                       e Zd Zd Zd ZdS )ReUnescapeTestc           	      ~    d}|D ]7}|                      |t          t          j        |                               8d S )N)z/favicon.icoz
index.htmlzHello, World!z!$@#%;)ra   r   rer   )r   test_stringsstrings      r   test_re_unescapezReUnescapeTest.test_re_unescape$  sO    P" 	E 	EFV[61B1B%C%CDDDD	E 	Er   c                    |                      t                    5  t          d           d d d            n# 1 swxY w Y   |                      t                    5  t          d           d d d            n# 1 swxY w Y   |                      t                    5  t          d           d d d            d S # 1 swxY w Y   d S )Nz\dz\bz\Z)assertRaises
ValueErrorr   rY   s    r   .test_re_unescape_raises_error_on_invalid_inputz=ReUnescapeTest.test_re_unescape_raises_error_on_invalid_input)  sv   z** 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	z** 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	z** 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s0   7;;A88A<?A<B::B>B>N)r   r    r!   r   r   r-   r   r   r   r   #  s5        E E E
    r   r   c                       e Zd Zd ZdS )IsFinalizingTestc                 H    |                      t                                 d S r   )assertFalser   rY   s    r   
test_basiczIsFinalizingTest.test_basic3  s     )))))r   N)r   r    r!   r   r-   r   r   r   r   2  s#        * * * * *r   r   )'ior   r   r'   r   r   r   tornado.escaper   tornado.utilr   r   r   r   r	   r
   r   r   typingr   TYPE_CHECKINGr   r   TestCaser   r/   r5   rC   rF   rI   rP   rT   r}   r   r   r   r   r   r   r-   r   r   <module>r      s         				 



         	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	       	 !        * * * * *x( * * **    |       "       "       "       ;   
    ;   
y1 y1 y1 y1 y1x( y1 y1 y1x6 6 6 6 6* 6 6 6

9 
9 
9 
9 
9" 
9 
9 
9 
  
  
  
  
h'  
  
  
FC C C C CX. C C CG G G G Gx( G G G"    X&   * * * * *x( * * * * *r   