
    vKg7                         S SK Jr  S SKrS SKrS SKrSSKJrJrJrJ	r	  SSK
Jr  \R                  S-S j5       rS.S jrS/S	 jr    S/S
 jrS/S jrS0S jrS0S jrS/S jr\" SS\S9S1S j5       rS/S jr " S S5      rS/S jr\" SSSSS9S1S j5       r    S/S jrS2S jr\" S\SSS9rS/S  jr " S! S"5      rS/S# jr\" S$SS%S9S0S& j5       r \" S$SS%S9S0S' j5       r!\" S$SSS9S0S( j5       r"\" S$SSS9S0S) j5       r#S0S* jr$S/S+ jr%S0S, jr&g)3    )annotationsN   )TrioDeprecationWarning
deprecateddeprecated_aliaswarn_deprecated   )module_with_deprecationsc                h    [         R                  " S5        [         R                  " S[        5        U $ )Nalwaysignore)warningssimplefilterResourceWarning)recwarns    Z/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/trio/_tests/test_deprecate.pyrecwarn_alwaysr      s'    (# (O4N    c                     [         R                  " 5       n U c   eU R                  c   e[         R                  " U R                  5      nUR                  UR
                  4$ N)inspectcurrentframef_backgetframeinfofilenamelineno)frameinfos     r   _herer      sS      "E<<###-DMM4;;''r   c                   SS jnU" 5         [        5       u  p#[        U 5      S:X  d   eU R                  [        5      n[	        UR
                  [        5      (       d   eSUR
                  R                  S   ;   d   eSUR
                  R                  S   ;   d   eSUR
                  R                  S   ;   d   eSUR
                  R                  S   ;   d   eUR                  U:X  d   eUR                  US-
  :X  d   eg )	Nc                     [        SSSSS9  g )Nice1.2r	   waterissueinsteadr    r   r   deprecated_thing.test_warn_deprecated.<locals>.deprecated_thing#   s    uAw?r   r	   zice is deprecatedr   zTrio 1.2zwater instead	/issues/1returnNone)
r   lenpopDeprecationWarning
isinstancemessageWarningargsr   r   )r   r*   r   r   gots        r   test_warn_deprecatedr8   "   s    @ wH~!###


/
0Cckk7++++#++"2"21"5555))!,,,,ckk..q1111#++**1----<<8###::!###r   c                d   [        SSS S S9  [        U 5      S:X  d   eU R                  [        5      n[	        UR
                  [        5      (       d   eSUR
                  R                  S   ;   d   eSUR
                  R                  S   ;   d   eSUR
                  R                  S   ;   d   eg )	Nr$   1.3r%   r	   zwater is deprecatedr   zno replacementzTrio 1.3)r   r0   r1   r2   r3   r4   r5   r6   r   r7   s     r   (test_warn_deprecated_no_instead_or_issuer<   3   s     GU$=~!###


/
0Cckk7++++ CKK$4$4Q$7777s{{//2222))!,,,,r   c                   ^ SU4S jjnSS jm[        5       u  p#U" 5         U R                  [        5      nUR                  U:X  d   eUR                  US-   :X  d   eg )Nc                    > T " 5         g r   r)   )nested2s   r   nested10test_warn_deprecated_stacklevel.<locals>.nested1A   s    	r   c                     [        SSSSSS9  g )Nxr:      y   )r&   r'   
stacklevelr(   r)   r   r   r?   0test_warn_deprecated_stacklevel.<locals>.nested2D   s    U!SQGr   r	   r-   )r   r1   r2   r   r   )r   r@   r   r   r7   r?   s        @r   test_warn_deprecated_stacklevelrI   @   sX    H wHI


/
0C<<8###::!###r   c                     g r   r)   r)   r   r   oldrK   N       r   c                     g r   r)   r)   r   r   newrN   R   rL   r   c                   [        [        SS[        S9  U R                  [        5      n[        UR                  [        5      (       d   eSUR                  R                  S   ;   d   eSUR                  R                  S   ;   d   eg )N1.0r	   r%   z test_deprecate.old is deprecatedr   ztest_deprecate.new instead)	r   rK   rN   r1   r2   r3   r4   r5   r6   r;   s     r   test_warn_deprecated_formattingrQ   V   sr    Ca5


/
0Cckk7++++-1A1A!1DDDD'3;;+;+;A+>>>>r   1.5{   r%   c                     g)NrF   r)   r)   r   r   deprecated_oldrU   ^   s    r   c                   [        5       S:X  d   eU R                  [        5      n[        UR                  [
        5      (       d   eSUR                  R                  S   ;   d   eSUR                  R                  S   ;   d   eSUR                  R                  S   ;   d   eSUR                  R                  S   ;   d   eg )NrF   z+test_deprecate.deprecated_old is deprecatedr   rR   ztest_deprecate.newz
issues/123)rU   r1   r2   r3   r4   r5   r6   r;   s     r   test_deprecated_decoratorrW   c   s    q   


/
0Cckk7++++8CKK<L<LQ<OOOOCKK$$Q''''3;;#3#3A#66663;;++A....r   c                  4    \ rS rSr\" SSSS9S	S j5       rSrg)
Foom   rP   rS   cryingr%   c                    g)NrD   r)   selfs    r   method
Foo.methodn   s    r   r)   Nr.   int)__name__
__module____qualname____firstlineno__r   r_   __static_attributes__r)   r   r   rY   rY   m   s    S(3 4r   rY   c                    [        5       nUR                  5       S:X  d   eU R                  [        5      n[	        UR
                  [        5      (       d   eSUR
                  R                  S   ;   d   eg )NrD   z'test_deprecate.Foo.method is deprecatedr   )rY   r_   r1   r2   r3   r4   r5   r6   )r   fr7   s      r    test_deprecated_decorator_methodrj   s   s`    A88:??


/
0Cckk7++++48H8H8KKKKr   r#   z	the thing)thingr&   r'   c                     g)NH   r)   r)   r   r   deprecated_with_thingrn   {   s    r   c                    [        5       S:X  d   eU R                  [        5      n[        UR                  [
        5      (       d   eSUR                  R                  S   ;   d   eg )Nrm   zthe thing is deprecatedr   )rn   r1   r2   r3   r4   r5   r6   r;   s     r   -test_deprecated_decorator_with_explicit_thingrp      sZ     !"b(((


/
0Cckk7++++$(8(8(;;;;r   c                     g)Nnew hotnessr)   r)   r   r   new_hotnessrs      s    r   old_hotness1.23r&   c                V   [        5       S:X  d   eU R                  [        5      n[        UR                  [
        5      (       d   eSUR                  R                  S   ;   d   eSUR                  R                  S   ;   d   eSUR                  R                  S   ;   d   eSUR                  R                  S   ;   d   e[        [         R                  [        5      (       d   eS[         R                  ;   d   eS[         R                  ;   d   eS[         R                  ;   d   eg )	Nrr   z(test_deprecate.old_hotness is deprecatedr   ru   z"test_deprecate.new_hotness insteadzissues/1z.. deprecated:: 1.23zissues/1>`__)	rt   r1   r2   r3   r4   r5   r6   __doc__strr;   s     r   test_deprecated_aliasrz      s   =M)))


/
0Cckk7++++59I9I!9LLLLS[[%%a((((/3;;3C3CA3FFFF))!,,,,k))3////![%8%8888/;3F3FFFF[00000r   c                  0    \ rS rSrS	S jr\" S\SSS9rSrg)
Alias   c                    g)Nnew hotness methodr)   r]   s    r   new_hotness_methodAlias.new_hotness_method   s    #r   zAlias.old_hotness_methodz3.21r	   rv   r)   Nr.   ry   )rc   rd   re   rf   r   r   old_hotness_methodrg   r)   r   r   r|   r|      s     $ *"	r   r|   c                   [        5       nUR                  5       S:X  d   eU R                  [        5      n[	        UR
                  [        5      (       d   eUR
                  R                  S   nSU;   d   eSU;   d   eg )Nr   r   z5test_deprecate.Alias.old_hotness_method is deprecatedz/test_deprecate.Alias.new_hotness_method instead)r|   r   r1   r2   r3   r4   r5   r6   )r   objr7   msgs       r   test_deprecated_alias_methodr      sy    
'C!!#';;;;


/
0Cckk7++++
++

1
CBcIII<CCCr   z2.1hic                     gzHello!Nr)   r)   r   r   docstring_test1r          r   c                     gr   r)   r)   r   r   docstring_test2r      r   r   c                     gr   r)   r)   r   r   docstring_test3r      r   r   c                     gr   r)   r)   r   r   docstring_test4r      r   r   c                     [         R                  S:X  d   e[        R                  S:X  d   e[        R                  S:X  d   e[        R                  S:X  d   eg )NzHello!

.. deprecated:: 2.1
   Use hi instead.
   For details, see `issue #1 <https://github.com/python-trio/trio/issues/1>`__.

z0Hello!

.. deprecated:: 2.1
   Use hi instead.

znHello!

.. deprecated:: 2.1
   For details, see `issue #1 <https://github.com/python-trio/trio/issues/1>`__.

zHello!

.. deprecated:: 2.1

)r   rx   r   r   r   r)   r   r   !test_deprecated_docstring_mungingr      s|    			 			 			 			r   c                   [         R                  S:X  d   e[        U 5      S:X  d   e[        5       u  p[         R                  S:X  d   eU R                  [        5      n[        UR                  [        5      (       d   eUR                  U:X  d   eUR                  US-   :X  d   eSUR                  R                  S   ;   d   eSUR                  R                  S   ;   d   eSUR                  R                  S   ;   d   eSUR                  R                  S   ;   d   e[         R                  S	:X  d   eU R                  [        5      n[        UR                  [        5      (       d   eS
UR                  R                  S   ;   d   e[        R                  " [         5         [         R"                    S S S 5        g ! , (       d  f       g = f)Nr   r   value1r	   zmodule_with_deprecations.dep1zTrio 1.1r,   zvalue1 insteadvalue2zinstead-string instead)r
   regularr0   r   dep1r1   r2   r3   r4   r5   r   r   r6   dep2pytestraisesAttributeErrorasdf)r   r   r   r7   s       r   test_module_with_deprecationsr      s   #++t333~!###wH#((H444


/
0Cckk7++++<<8###::!###*ckk.>.>q.AAAA))!,,,,#++**1----s{{//2222#((H444


/
0Cckk7++++#s{{'7'7'::::	~	& %% 
'	&	&s   (G
Gc            	     |   [         R                  " 5          [        SSS S S9  S S S 5        [         R                  " [        5         [        SSS S S9  S S S 5        [         R                  " [
        5         [        SSS S SS9  S S S 5        g ! , (       d  f       Nn= f! , (       d  f       NP= f! , (       d  f       g = f)Nfoobarr%   T)r&   r'   use_triodeprecationwarning)r   deprecated_callr   warnsr2   r   r)   r   r   test_warning_classr     s    				!uD$? 
" 
(	)uD$? 
* 
,	-'+	
 
.	- 
"	! 
*	) 
.	-s#   BB4B-
B
B*-
B;)r   pytest.WarningsRecorderr.   r   )r.   ztuple[str, int])r   r   r.   r/   r-   ra   r   )'
__future__r   r   r   r   
_deprecater   r   r   r    r
   fixturer   r   r8   r<   rI   rK   rN   rQ   rU   rW   rY   rj   rn   rp   rs   rt   rz   r|   r   r   r   r   r   r   r   r   r)   r   r   <module>r      s   "     '  ($"
-+
-	
-$		? Ec* +/ L ED$? @<+<	< }k6K1	 	D ED) * Et, - ED) * Et, -'T&2
r   