
    R?g+&                        S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKJr  S SK	J
r
JrJrJrJrJrJrJr  S SKrS SKJr  \R(                  (       a  S SKJrJr   " S S\R.                  5      r " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\R.                  5      r " S S\R.                  5      r  " S S\R.                  5      r! " S S\R.                  5      r" " S S\R.                  5      r# " S S \R.                  5      r$ " S! S"\R.                  5      r% " S# S$\R.                  5      r&g)%    )StringION)utf8)raise_exc_infoConfigurableexec_inArgReplacertimedelta_to_secondsimport_objectre_unescapeis_finalizing)cast)DictAnyc                       \ rS rSrS rSrg)RaiseExcInfoTest   c                      " S S[         5      n U" SS5      e! U a    [        R                  " 5       n Of = f [        U5        U R	                  S5        g ! U a  nU R                  X2S   5         S nAg S nAff = f)Nc                   (   ^  \ rS rSrU 4S jrSrU =r$ )@RaiseExcInfoTest.test_two_arg_exception.<locals>.TwoArgException    c                 >   > [         TU ]  5         XsU l        U l        g N)super__init__ab)selfr   r   	__class__s      8/usr/lib/python3/dist-packages/tornado/test/util_test.pyr   IRaiseExcInfoTest.test_two_arg_exception.<locals>.TwoArgException.__init__!   s     "!"    )r   r   )__name__
__module____qualname____firstlineno__r   __static_attributes____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_exception'RaiseExcInfoTest.test_two_arg_exception   sw    	&i 	&
	&!!Q'' 	&||~H	&	*8$II56 	*MM!a[))	*s#   	 88A A=A88A= N)r"   r#   r$   r%   r1   r&   r3   r!   r   r   r      s    *r!   r   c                   4    \ rS rSr\S 5       r\S 5       rSrg)TestConfigurable0   c                     [         $ r   )r5   clss    r   configurable_base"TestConfigurable.configurable_base1   s    r!   c                     [         $ r   )TestConfig1r8   s    r   configurable_default%TestConfigurable.configurable_default5       r!   r3   Nr"   r#   r$   r%   classmethodr:   r>   r&   r3   r!   r   r5   r5   0   s(         r!   r5   c                       \ rS rSrSS jrSrg)r=   :   Nc                     X l         Xl        g r   r   pos_arg)r   rG   r   s      r   
initializeTestConfig1.initialize;       r!   rF   NNr"   r#   r$   r%   rH   r&   r3   r!   r   r=   r=   :       r!   r=   c                       \ rS rSrSS jrSrg)TestConfig2@   Nc                     X l         Xl        g r   r   rG   )r   rG   r   s      r   rH   TestConfig2.initializeA   rJ   r!   rR   rK   rL   r3   r!   r   rO   rO   @   rM   r!   rO   c                   4    \ rS rSr\S 5       r\S 5       rSrg)TestConfig3F   c                     [         $ r   )rU   r8   s    r   r:   TestConfig3.configurable_baseH   r@   r!   c                     [         $ r   )TestConfig3Ar8   s    r   r>    TestConfig3.configurable_defaultL   s    r!   r3   NrA   r3   r!   r   rU   rU   F   s(       r!   rU   c                       \ rS rSrSS jrSrg)rZ   Q   Nc                     Xl         g r   r   )r   r   s     r   rH   TestConfig3A.initializeR       r!   r_   r   rL   r3   r!   r   rZ   rZ   Q       r!   rZ   c                       \ rS rSrSS jrSrg)TestConfig3BV   Nc                     Xl         g r   r   )r   r   s     r   rH   TestConfig3B.initializeW   ra   r!   rg   r   rL   r3   r!   r   rd   rd   V   rb   r!   rd   c                   P    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)ConfigurableTest[   c                 h    [         R                  5       U l        [        R                  5       U l        g r   )r5   _save_configurationsavedrU   saved3r   s    r   setUpConfigurableTest.setUp\   s"    %99;
!557r!   c                     [         R                  U R                  5        [        R                  U R                  5        g r   )r5   _restore_configurationrn   rU   ro   rp   s    r   tearDownConfigurableTest.tearDown`   s&    //

;**4;;7r!   c                    U R                  [        5       [        5        U R                  [        5       [        5        [        SS9nU R                  UR                  S5        [        SS9nU R                  UR
                  S5        g Nr)   r_   r*   rg   )assertIsInstancer=   rO   assertEqualr   r   r   objobj2s      r   checkSubclasses ConfigurableTest.checkSubclassesd   sd     	km[9km[9A"Q#r!   c                 J   [        [        [        5       5      nU R                  U[        5        U R	                  UR
                  S 5        [        [        [        SS95      nU R                  U[        5        U R                  UR
                  S5        U R                  5         g )Nr)   r_   )r   r=   r5   ry   r/   r   rz   r~   r   r|   s     r   test_defaultConfigurableTest.test_defaulto   sx     ; 0 23c;/ceeT"; 01 56c;/"r!   c                 |   [         R                  [        5        [        [        [        5       5      nU R	                  U[        5        U R                  UR                  S 5        [        [        [        SS95      nU R	                  U[        5        U R                  UR                  S5        U R                  5         g )Nr*   rg   )	r5   	configurerO   r   ry   r/   r   rz   r~   r   s     r   test_config_class"ConfigurableTest.test_config_class}   s    "";/; 0 23c;/ceeT"; 01 56c;/"r!   c                 t   [         R                  S5        [        [        [        5       5      nU R	                  U[        5        U R                  UR                  S 5        [        [        [        SS95      nU R	                  U[        5        U R                  UR                  S5        U R                  5         g )Nz"tornado.test.util_test.TestConfig2r*   rg   )	r5   r   r   rO   ry   r/   r   rz   r~   r   s     r   test_config_str ConfigurableTest.test_config_str   s    ""#GH; 0 23c;/ceeT"; 01 56c;/"r!   c                    [         R                  S SS9  [        [        [        5       5      nU R	                  U[        5        U R                  UR                  S5        [        [        [        SSS95      nU R	                  U[        5        U R                  UR                  S5        U R                  UR                  S5        U R                  5         [        5       nU R                  UR                  S 5        g )N   r_   *      )
r5   r   r   r=   ry   rz   r   rG   r~   r/   r   s     r   test_config_args!ConfigurableTest.test_config_args   s    ""41"-; 0 23c;/"; 0q 9:c;/"b)mceeT"r!   c                     [         R                  [        SS9  [        [        [        5       5      nU R	                  U[        5        U R                  UR                  S5        [        [        [        SSS95      nU R	                  U[        5        U R                  UR                  S5        U R                  UR                  S5        U R                  5         [        5       nU R                  UR                  S 5        g )N   rg   r      )
r5   r   rO   r   ry   rz   r   rG   r~   r/   r   s     r   test_config_class_args'ConfigurableTest.test_config_class_args   s    "";!"4; 0 23c;/"; 0q 9:c;/"b)mceeT"r!   c                    [         R                  [        SS9  [        [        [        5       5      nU R                  U[        5        U R                  UR                  S5        [         R                  [        5        [        R                  [        SS9  [        [        [        5       5      nU R                  U[        5        U R                  UR                  S5        g rx   )
r5   r   rU   r   rZ   ry   rz   r   rd   r   r{   s      r   test_config_multi_level(ConfigurableTest.test_config_multi_level   s    "";!"4<!1!34c<0""";/la0L"2"45dL1#r!   c                    [        5       nU R                  U[        5        [         R                  [        5        [        5       nU R                  U[        5        [        5       nU R                  U[        5        [
        R                  [        5        [        5       nU R                  U[        5        [        5       nU R                  U[        5        g r   )rU   ry   rZ   r   rd   r5   r=   rO   )r   r|   r}   obj3s       r   test_config_inner_level(ConfigurableTest.test_config_inner_level   s     mc<0l+mc<0  !dK0"";/!dK0mc<0r!   )rn   ro   N)r"   r#   r$   r%   rq   ru   r~   r   r   r   r   r   r   r   r&   r3   r!   r   rj   rj   [   s4    88	$

# # 
$1r!   rj   c                       \ rS rSrS rSrg)UnicodeLiteralTest   c                 :    U R                  [        S5      S5        g )N   és   é)rz   r   rp   s    r   test_unicode_escapes'UnicodeLiteralTest.test_unicode_escapes   s    h5r!   r3   N)r"   r#   r$   r%   r   r&   r3   r!   r   r   r      s    6r!   r   c                   D    \ rS rSr\R
                  " S5      S 5       rSrg)
ExecInTest   zno testable future importsc                     [        5       n[        SUS9  [        S[        US95        U R	                  UR                  5       S5        g )Nhello)filezprint >> f, "world")fzhello
world
)r   printr   dictrz   getvalue)r   r   s     r   test_no_inherit_future!ExecInTest.test_no_inherit_future   s;     JgA%tay1'78r!   r3   N)r"   r#   r$   r%   unittestskipr   r&   r3   r!   r   r   r      s      ]]/09 19r!   r   c                   ,    \ rS rSrS rS rS rS rSrg)ArgReplacerTest   c                 0    SS jn[        US5      U l        g )Nc                     g r   r3   )xycallbackzs       r   function'ArgReplacerTest.setUp.<locals>.function   s    r!   r   rK   )r   replacer)r   r   s     r   rq   ArgReplacerTest.setUp   s    	 $Hj9r!   c           	          Sn[        5       nU R                  U R                  R                  X5      S 5        U R	                  U R                  R                  SX5      S S[        SS945        g )N)r)   r*   new)r   )r   r/   r   get_old_valuerz   replacer   argskwargss      r   test_omittedArgReplacerTest.test_omitted   s\    dmm11$?FMM!!%664/0	
r!   c                     Sn[        5       nU R                  U R                  R                  X5      S5        U R                  U R                  R	                  SX5      S/ SQ[        5       45        g )N)r)   r*   oldr   r   r   )r)   r*   r   r   r   rz   r   r   r   r   s      r   test_positionArgReplacerTest.test_position   s\    44TBEJMM!!%6$df-	
r!   c                     Sn[        SSSS9nU R                  U R                  R                  X5      S5        U R                  U R                  R	                  SX5      SS[        SSSS945        g )N)r)   r*   r   r   )r   r   r   r   r   r   s      r   test_keywordArgReplacerTest.test_keyword  si    EQ/44TBEJMM!!%6D$Ua89	
r!   )r   N)	r"   r#   r$   r%   rq   r   r   r   r&   r3   r!   r   r   r      s    :


r!   r   c                       \ rS rSrS rSrg)TimedeltaToSecondsTesti  c                 b    [         R                  " SS9nU R                  [        U5      S5        g )Nr)   )hoursg      @)datetime	timedeltarz   r	   )r   
time_deltas     r   test_timedelta_to_seconds0TimedeltaToSecondsTest.test_timedelta_to_seconds  s(    ''a0
-j96Br!   r3   N)r"   r#   r$   r%   r   r&   r3   r!   r   r   r     s    Cr!   r   c                   ,    \ rS rSrS rS rS rS rSrg)ImportObjectTesti  c                 B    U R                  [        S5      [        5        g Nztornado.escape.utf8r/   r
   r   rp   s    r   test_import_member#ImportObjectTest.test_import_member      m$9:DAr!   c                 B    U R                  [        S5      [        5        g r   r   rp   s    r   test_import_member_unicode+ImportObjectTest.test_import_member_unicode  r   r!   c                 V    U R                  [        S5      [        R                  5        g Nztornado.escaper/   r
   tornadoescaperp   s    r   test_import_module#ImportObjectTest.test_import_module  s    m$45w~~Fr!   c                 V    U R                  [        S5      [        R                  5        g r   r   rp   s    r   test_import_module_unicode+ImportObjectTest.test_import_module_unicode  s     	m$45w~~Fr!   r3   N)	r"   r#   r$   r%   r   r   r   r   r&   r3   r!   r   r   r     s    BBGGr!   r   c                        \ rS rSrS rS rSrg)ReUnescapeTesti#  c           	      x    SnU H2  nU R                  U[        [        R                  " U5      5      5        M4     g )N)z/favicon.icoz
index.htmlzHello, World!z!$@#%;)rz   r   rer   )r   test_stringsstrings      r   test_re_unescapeReUnescapeTest.test_re_unescape$  s/    P"FV[61B%CD #r!   c                 `   U R                  [        5         [        S5        S S S 5        U R                  [        5         [        S5        S S S 5        U R                  [        5         [        S5        S S S 5        g ! , (       d  f       Na= f! , (       d  f       NI= f! , (       d  f       g = f)Nz\dz\bz\Z)assertRaises
ValueErrorr   rp   s    r   .test_re_unescape_raises_error_on_invalid_input=ReUnescapeTest.test_re_unescape_raises_error_on_invalid_input)  sm    z* +z* +z* +*	 +*****s"   A=B(B=
B
B
B-r3   N)r"   r#   r$   r%   r   r   r&   r3   r!   r   r   r   #  s    E
r!   r   c                       \ rS rSrS rSrg)IsFinalizingTesti2  c                 6    U R                  [        5       5        g r   )assertFalser   rp   s    r   
test_basicIsFinalizingTest.test_basic3  s    )r!   r3   N)r"   r#   r$   r%   r   r&   r3   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   r5   r=   rO   rU   rZ   rd   rj   r   r   r   r   r   r   r   r3   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!   