
    ,h                     (   d dl mZ d dlZd dlZd dlmZ d dlZddlmZm	Z	m
Z
mZ ddlmZ ej                  d.d       Zd/d	Zd0d
Z	 	 	 	 d0dZd0dZd1dZd1dZd0dZ e	dde      d2d       Zd0dZ G d d      Zd0dZ e	dddd      d2d       Z	 	 	 	 d0dZd3dZ e
dedd       Zd0d!Z G d" d#      Z d0d$Z! e	d%dd&      d1d'       Z" e	d%dd&      d1d(       Z# e	d%dd      d1d)       Z$ e	d%dd      d1d*       Z%d1d+Z&d0d,Z'd1d-Z(y)4    )annotationsN)
ModuleType   )TrioDeprecationWarning
deprecateddeprecated_aliaswarn_deprecated   )module_with_deprecationsc                d    t        j                  d       t        j                  dt               | S )Nalwaysignore)warningssimplefilterResourceWarning)recwarns    \/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/trio/_tests/test_deprecate.pyrecwarn_alwaysr      s'    (# (O4N    c                     t        j                         } | J | j                  J t        j                  | j                        }|j                  |j
                  fS N)inspectcurrentframef_backgetframeinfofilenamelineno)frameinfos     r   _herer       sM      "E<<##-DMM4;;''r   c                   dd} |        t               \  }}t        |       dk(  sJ | j                  t              }t	        |j
                  t              sJ d|j
                  j                  d   v sJ d|j
                  j                  d   v sJ d|j
                  j                  d   v sJ d|j
                  j                  d   v sJ |j                  |k(  sJ |j                  |dz
  k(  sJ y )	Nc                 "    t        dddd       y )Nice1.2r
   waterissueinsteadr	    r   r   deprecated_thingz.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Hf~!##


/
0Cckk7++#++"2"21"555))!,,,ckk..q111#++**1---<<8##::!###r   c                R   t        ddd d        t        |       dk(  sJ | j                  t              }t	        |j
                  t              sJ d|j
                  j                  d   v sJ d|j
                  j                  d   v sJ d|j
                  j                  d   v sJ y )	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<   4   s     GU$=~!##


/
0Cckk7++ CKK$4$4Q$777s{{//222))!,,,,r   c                    dfd}ddt               \  }} |        | j                  t              }|j                  |k(  sJ |j                  |dz   k(  sJ y )Nc                               y r   r*   )nested2s   r   nested1z0test_warn_deprecated_stacklevel.<locals>.nested1B   s    	r   c                 $    t        ddddd       y )Nxr:      y   )r'   r(   
stacklevelr)   r*   r   r   r?   z0test_warn_deprecated_stacklevel.<locals>.nested2E   s    U!SQGr   r
   r-   )r    r1   r2   r   r   )r   r@   r   r   r7   r?   s        @r   test_warn_deprecated_stacklevelrG   A   sW    H wHfI


/
0C<<8##::!###r   c                      y r   r*   r*   r   r   oldrI   O       r   c                      y r   r*   r*   r   r   newrL   S   rJ   r   c                   t        t        ddt               | j                  t              }t        |j                  t              sJ d|j                  j                  d   v sJ d|j                  j                  d   v sJ y )N1.0r
   r&   z test_deprecate.old is deprecatedr   ztest_deprecate.new instead)	r	   rI   rL   r1   r2   r3   r4   r5   r6   r;   s     r   test_warn_deprecated_formattingrO   W   si    Ca5


/
0Cckk7++-1A1A!1DDD'3;;+;+;A+>>>>r   1.5{   r&   c                      y)NrE   r*   r*   r   r   deprecated_oldrS   _   s    r   c                l   t               dk(  sJ | j                  t              }t        |j                  t
              sJ d|j                  j                  d   v sJ d|j                  j                  d   v sJ d|j                  j                  d   v sJ d|j                  j                  d   v sJ y )NrE   z+test_deprecate.deprecated_old is deprecatedr   rP   ztest_deprecate.newz
issues/123)rS   r1   r2   r3   r4   r5   r6   r;   s     r   test_deprecated_decoratorrU   d   s    q  


/
0Cckk7++8CKK<L<LQ<OOOCKK$$Q'''3;;#3#3A#6663;;++A....r   c                  0    e Zd Z eddd      dd       Zy)FoorN   rQ   cryingr&   c                     y)NrC   r*   selfs    r   methodz
Foo.methodo   s    r   Nr.   int)__name__
__module____qualname__r   r\   r*   r   r   rW   rW   n   s    S(3 4r   rW   c                    t               }|j                         dk(  sJ | j                  t              }t	        |j
                  t              sJ d|j
                  j                  d   v sJ y )NrC   z'test_deprecate.Foo.method is deprecatedr   )rW   r\   r1   r2   r3   r4   r5   r6   )r   fr7   s      r    test_deprecated_decorator_methodrd   t   sX    A88:?


/
0Cckk7++48H8H8KKKKr   r$   z	the thing)thingr'   r(   c                      y)NH   r*   r*   r   r   deprecated_with_thingrh   |   s    r   c                    t               dk(  sJ | j                  t              }t        |j                  t
              sJ d|j                  j                  d   v sJ y )Nrg   zthe thing is deprecatedr   )rh   r1   r2   r3   r4   r5   r6   r;   s     r   -test_deprecated_decorator_with_explicit_thingrj      sQ     !"b((


/
0Cckk7++$(8(8(;;;;r   c                      y)Nnew hotnessr*   r*   r   r   new_hotnessrm      s    r   old_hotness1.23r'   c                $   t               dk(  sJ | j                  t              }t        |j                  t
              sJ d|j                  j                  d   v sJ d|j                  j                  d   v sJ d|j                  j                  d   v sJ d|j                  j                  d   v sJ t        t         j                  t              sJ dt         j                  v sJ dt         j                  v sJ dt         j                  v sJ y )	Nrl   z(test_deprecate.old_hotness is deprecatedr   ro   z"test_deprecate.new_hotness insteadzissues/1z.. deprecated:: 1.23zissues/1>`__)	rn   r1   r2   r3   r4   r5   r6   __doc__strr;   s     r   test_deprecated_aliasrt      s    =M))


/
0Cckk7++59I9I!9LLLS[[%%a(((/3;;3C3CA3FFF))!,,,k))3//![%8%888/;3F3FFF[00000r   c                  ,    e Zd ZddZ ededd      Zy)Aliasc                     y)Nnew hotness methodr*   rZ   s    r   new_hotness_methodzAlias.new_hotness_method   s    #r   zAlias.old_hotness_methodz3.21r
   rp   Nr.   rs   )r_   r`   ra   ry   r   old_hotness_methodr*   r   r   rv   rv      s     $ *"	r   rv   c                    t               }|j                         dk(  sJ | j                  t              }t	        |j
                  t              sJ |j
                  j                  d   }d|v sJ d|v sJ y )Nrx   r   z5test_deprecate.Alias.old_hotness_method is deprecatedz/test_deprecate.Alias.new_hotness_method instead)rv   r{   r1   r2   r3   r4   r5   r6   )r   objr7   msgs       r   test_deprecated_alias_methodr      sm    
'C!!#';;;


/
0Cckk7++
++

1
CBcII<CCCr   z2.1hic                      yzHello!Nr*   r*   r   r   docstring_test1r          r   c                      yr   r*   r*   r   r   docstring_test2r      r   r   c                      yr   r*   r*   r   r   docstring_test3r      r   r   c                      yr   r*   r*   r   r   docstring_test4r      r   r   c                     t         j                  dk(  sJ t        j                  dk(  sJ t        j                  dk(  sJ t        j                  dk(  sJ y )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   rr   r   r   r   r*   r   r   !test_deprecated_docstring_mungingr      sm    		 		 		 			r   c                   t         j                  dk(  sJ t        |       dk(  sJ t        t               t        u sJ t               \  }}t         j                  dk(  sJ | j                  t              }t        |j                  t              sJ |j                  |k(  sJ |j                  |dz   k(  sJ d|j                  j                  d   v sJ d|j                  j                  d   v sJ d|j                  j                  d   v sJ d|j                  j                  d   v sJ t         j                  d	k(  sJ | j                  t              }t        |j                  t              sJ d
|j                  j                  d   v sJ t!        j"                  t$              5  t         j&                   d d d        y # 1 sw Y   y xY w)Nr   r   value1r
   zmodule_with_deprecations.dep1zTrio 1.1r,   zvalue1 insteadvalue2zinstead-string instead)r   regularr0   typer   r    dep1r1   r2   r3   r4   r5   r   r   r6   dep2pytestraisesAttributeErrorasdf)r   r   r   r7   s       r   test_module_with_deprecationsr      st   #++t33~!##()Z77wHf#((H44


/
0Cckk7++<<8##::!##*ckk.>.>q.AAA))!,,,#++**1---s{{//222#((H44


/
0Cckk7++#s{{'7'7':::	~	& & %%& & &s   %F??Gc                 n   t        j                         5  t        ddd d        d d d        t        j                  t        d      5  t        ddd d        d d d        t        j                  t
              5  t        ddd d d       d d d        y # 1 sw Y   oxY w# 1 sw Y   HxY w# 1 sw Y   y xY w)Nfoobarr&   z6^foo is deprecated since Trio bar with no replacement$)matchT)r'   r(   use_triodeprecationwarning)r   deprecated_callr	   warnsr2   r   r*   r   r   test_warning_classr     s    				! @uD$?@ 
F
 @ 	uD$?	@ 
,	- 
'+	

 
@ @@ @
 
s#   BB9B+BB(+B4)r   pytest.WarningsRecorderr.   r   )r.   ztuple[str, int])r   r   r.   r/   r-   r]   rz   ))
__future__r   r   r   typesr   r   
_deprecater   r   r   r	    r   fixturer   r    r8   r<   rG   rI   rL   rO   rS   rU   rW   rd   rh   rj   rm   rn   rt   rv   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&6
r   