
    g+&                        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&y)%    )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y)RaiseExcInfoTestc                      G d dt               }	  |dd      # |$ r t        j                         }Y nw xY w	 t        |       | j	                  d       y # |$ r}| j                  ||d          Y d }~y d }~ww xY w)Nc                        e Zd Z fdZ xZS )@RaiseExcInfoTest.test_two_arg_exception.<locals>.TwoArgExceptionc                 @    t         |           ||c| _        | _        y N)super__init__ab)selfr   r   	__class__s      K/var/www/openai/venv/lib/python3.12/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       s    & &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   sy    	&i 	&
	&!!Q'' 	&||~H	&	*8$II56 	*MM!Xa[))	*s#   	 66A A;A66A;N)r   r    r!   r,    r   r   r   r      s    *r   r   c                   ,    e Zd Zed        Zed        Zy)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   s(         r   r/   c                       e Zd ZddZy)r5   Nc                      || _         || _        y 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y)TestConfig2Nc                      || _         || _        y 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y)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   s(       r   rF   c                       e Zd ZddZy)rI   Nc                     || _         y 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y)TestConfig3BNc                     || _         y r   r   )r   r   s     r   r=   zTestConfig3B.initializeW   rM   r   r   r@   r-   r   r   rP   rP   V   rN   r   rP   c                   H    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zy)ConfigurableTestc                 h    t         j                         | _        t        j                         | _        y r   )r/   _save_configurationsavedrF   saved3r   s    r   setUpzConfigurableTest.setUp\   s"    %99;
!557r   c                     t         j                  | j                         t        j                  | j                         y r   )r/   _restore_configurationrW   rF   rX   rY   s    r   tearDownzConfigurableTest.tearDown`   s&    //

;**4;;7r   c                    | j                  t               t               | j                  t               t               t        d      }| j                  |j                  d       t        d      }| j                  |j
                  d       y Nr$   rL   r%   rR   )assertIsInstancer5   rC   assertEqualr   r   r   objobj2s      r   checkSubclassesz ConfigurableTest.checkSubclassesd   sd     	km[9km[9A"Q#r   c                 P   t        t        t                     }| j                  |t               | j	                  |j
                  d        t        t        t        d            }| j                  |t               | j                  |j
                  d       | j                          y )Nr$   rL   )r   r5   r/   r`   r*   r   ra   re   r   rc   s     r   test_defaultzConfigurableTest.test_defaulto   sx     ; 0 23c;/ceeT"; 01 56c;/"r   c                    t         j                  t               t        t        t                     }| j	                  |t               | j                  |j                  d        t        t        t        d            }| j	                  |t               | j                  |j                  d       | j                          y )Nr%   rR   )	r/   	configurerC   r   r`   r*   r   ra   re   rg   s     r   test_config_classz"ConfigurableTest.test_config_class}   s    "";/; 0 23c;/ceeT"; 01 56c;/"r   c                 z   t         j                  d       t        t        t                     }| j	                  |t               | j                  |j                  d        t        t        t        d            }| j	                  |t               | j                  |j                  d       | j                          y )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; 0 23c;/ceeT"; 01 56c;/"r   c                    t         j                  d d       t        t        t                     }| j	                  |t               | j                  |j                  d       t        t        t        dd            }| j	                  |t               | j                  |j                  d       | j                  |j                  d       | j                          t               }| j                  |j                  d        y )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3c;/"; 0q 9:c;/"b)mceeT"r   c                    t         j                  t        d       t        t        t                     }| j	                  |t               | j                  |j                  d       t        t        t        dd            }| j	                  |t               | j                  |j                  d       | j                  |j                  d       | j                          t               }| j                  |j                  d        y )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; 0 23c;/"; 0q 9:c;/"b)mceeT"r   c                    t         j                  t        d       t        t        t                     }| j                  |t               | j                  |j                  d       t         j                  t               t        j                  t        d       t        t        t                     }| j                  |t               | j                  |j                  d       y 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<!1!34c<0""";/la0L"2"45dL1#r   c                    t               }| j                  |t               t         j                  t               t               }| j                  |t               t               }| j                  |t               t
        j                  t               t               }| j                  |t               t               }| j                  |t               y r   )rF   r`   rI   rj   rP   r/   r5   rC   )r   rc   rd   obj3s       r   test_config_inner_levelz(ConfigurableTest.test_config_inner_level   s     mc<0l+mc<0  !dK0"";/!dK0mc<0r   N)r   r    r!   rZ   r]   re   rh   rk   rm   rr   rv   rx   r{   r-   r   r   rT   rT   [   s4    88	$

# # 
$1r   rT   c                       e Zd Zd Zy)UnicodeLiteralTestc                 :    | j                  t        d      d       y )N   és   é)ra   r   rY   s    r   test_unicode_escapesz'UnicodeLiteralTest.test_unicode_escapes   s    h5r   N)r   r    r!   r   r-   r   r   r}   r}      s    6r   r}   c                   <    e Zd Z ej                  d      d        Zy)
ExecInTestzno testable future importsc                     t               }t        d|       t        dt        |             | j	                  |j                         d       y )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;     JgA%tay1'78r   N)r   r    r!   unittestskipr   r-   r   r   r   r      s"     X]]/09 19r   r   c                   $    e Zd Zd Zd Zd Zd Zy)ArgReplacerTestc                 .    dd}t        |d      | _        y )Nc                      y r   r-   )xycallbackzs       r   functionz'ArgReplacerTest.setUp.<locals>.function   s    r   r   r?   )r   replacer)r   r   s     r   rZ   zArgReplacerTest.setUp   s    	 $Hj9r   c                     d}t               }| j                  | j                  j                  ||      d        | j	                  | j                  j                  d||      d dt        d      f       y )N)r$   r%   new)r   )r   r*   r   get_old_valuera   replacer   argskwargss      r   test_omittedzArgReplacerTest.test_omitted   s`    dmm11$?FMM!!%v664/0	
r   c                     d}t               }| j                  | j                  j                  ||      d       | j                  | j                  j	                  d||      dg dt               f       y )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BEJMM!!%v6$df-	
r   c           
          d}t        ddd      }| j                  | j                  j                  ||      d       | j                  | j                  j	                  d||      ddt        ddd      f       y )N)r$   r%   r   ro   )r   r   r   r   r   r   s      r   test_keywordzArgReplacerTest.test_keyword  sm    EQ/44T6BEJMM!!%v6D$Ua89	
r   N)r   r    r!   rZ   r   r   r   r-   r   r   r   r      s    :


r   r   c                       e Zd Zd Zy)TimedeltaToSecondsTestc                 f    t        j                  d      }| j                  t        |      d       y )Nr$   )hoursg      @)datetime	timedeltara   r	   )r   
time_deltas     r   test_timedelta_to_secondsz0TimedeltaToSecondsTest.test_timedelta_to_seconds  s(    ''a0
-j96Br   N)r   r    r!   r   r-   r   r   r   r     s    Cr   r   c                   $    e Zd Zd Zd Zd Zd Zy)ImportObjectTestc                 B    | j                  t        d      t               y Nztornado.escape.utf8r*   r
   r   rY   s    r   test_import_memberz#ImportObjectTest.test_import_member      m$9:DAr   c                 B    | j                  t        d      t               y r   r   rY   s    r   test_import_member_unicodez+ImportObjectTest.test_import_member_unicode  r   r   c                 V    | j                  t        d      t        j                         y Nztornado.escaper*   r
   tornadoescaperY   s    r   test_import_modulez#ImportObjectTest.test_import_module  s    m$45w~~Fr   c                 V    | j                  t        d      t        j                         y r   r   rY   s    r   test_import_module_unicodez+ImportObjectTest.test_import_module_unicode  s     	m$45w~~Fr   N)r   r    r!   r   r   r   r   r-   r   r   r   r     s    BBGGr   r   c                       e Zd Zd Zd Zy)ReUnescapeTestc           	      r    d}|D ]0  }| j                  |t        t        j                  |                   2 y )N)z/favicon.icoz
index.htmlzHello, World!z!$@#%;)ra   r   rer   )r   test_stringsstrings      r   test_re_unescapezReUnescapeTest.test_re_unescape$  s/    P"FV[61B%CD #r   c                 B   | j                  t              5  t        d       d d d        | j                  t              5  t        d       d d d        | j                  t              5  t        d       d d d        y # 1 sw Y   \xY w# 1 sw Y   ?xY w# 1 sw Y   y xY w)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)  sm    z* +z* +z* +*	 +*****s"   A=B	(B=B	BBN)r   r    r!   r   r   r-   r   r   r   r   #  s    E
r   r   c                       e Zd Zd Zy)IsFinalizingTestc                 6    | j                  t                      y 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      s2    	 
    	 	 	  	 *x(( **| " " " ; 
; 
y1x(( y1x6** 6

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