
     nh                     p   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        d6d            Zd7dZd8dZd8dZd8dZd9dZd9dZd8dZ e	dde          d:d            Zd8dZ G d d          Zd8dZ e	dd dd!          d:d"            Zd8d#Zd;d%Z e
d&ed'd(          Zd8d)Z G d* d+          Z d8d,Z! e	d-dd.          d9d/            Z" e	d-dd.          d9d0            Z# e	d-dd          d9d1            Z$ e	d-dd          d9d2            Z%d9d3Z&d8d4Z'd9d5Z(dS )<    )annotationsN)
ModuleType   )TrioDeprecationWarning
deprecateddeprecated_aliaswarn_deprecated   )module_with_deprecationsrecwarnpytest.WarningsRecorderreturnc                b    t          j        d           t          j        dt                     | S )Nalwaysignore)warningssimplefilterResourceWarning)r   s    n/var/www/html/mycamper/aliexpress-site/backend/venv/lib/python3.11/site-packages/trio/_tests/test_deprecate.pyrecwarn_alwaysr      s-    (### (O444N    tuple[str, int]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#      sK     ""E<###--DM4;''r   r   Nonec                   d
d} |             t                      \  }}t          |           dk    s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 d S )Nr   r$   c                 ,    t          dddd           d S )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r   r$   )
r#   lenpopDeprecationWarning
isinstancemessageWarningargsr   r    )r   r/   r   r    gots        r   test_warn_deprecatedr:   #   s   @ @ @ @ wwHf~!####


/
0
0Cck7+++++#+"21"55555)!,,,,,ck.q11111#+*1-----<8####:!######r   c                F   t          ddd d            t          |           dk    s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 S )	Nr)   1.3r*   r
   zwater is deprecatedr   zno replacementzTrio 1.3)r	   r2   r3   r4   r5   r6   r7   r8   r   r9   s     r   (test_warn_deprecated_no_instead_or_issuer>   4   s     GU$====~!####


/
0
0Cck7+++++ CK$4Q$77777s{/22222)!,,,,,,,r   c                    dfd}ddt                      \  }} |             |                     t                    }|j        |k    sJ |j        |dz   k    sJ d S )Nr   r$   c                                    d S r   r.   )nested2s   r   nested1z0test_warn_deprecated_stacklevel.<locals>.nested1B   s    					r   c                 .    t          ddddd           d S )Nxr<      y   )r+   r,   
stacklevelr-   r.   r   r   rA   z0test_warn_deprecated_stacklevel.<locals>.nested2E   s!    U!SQGGGGGGr   r
   r1   )r#   r3   r4   r   r    )r   rB   r   r    r9   rA   s        @r   test_warn_deprecated_stacklevelrI   A   s         H H H H wwHfGIII


/
0
0C<8####:!######r   c                     d S r   r.   r.   r   r   oldrK   O       Dr   c                     d S r   r.   r.   r   r   newrN   S   rL   r   c                   t          t          ddt                     |                     t                    }t          |j        t                    sJ d|j        j        d         v sJ d|j        j        d         v sJ d S )N1.0r
   r*   z test_deprecate.old is deprecatedr   ztest_deprecate.new instead)	r	   rK   rN   r3   r4   r5   r6   r7   r8   r=   s     r   test_warn_deprecated_formattingrQ   W   s    Ca5555


/
0
0Cck7+++++-1A!1DDDDD'3;+;A+>>>>>>>r   1.5{   r*   intc                     dS )NrG   r.   r.   r   r   deprecated_oldrV   _   s    1r   c                J   t                      dk    s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 d S )NrG   z+test_deprecate.deprecated_old is deprecatedr   rR   ztest_deprecate.newz
issues/123)rV   r3   r4   r5   r6   r7   r8   r=   s     r   test_deprecated_decoratorrX   d   s    q    


/
0
0Cck7+++++8CK<LQ<OOOOOCK$Q'''''3;#3A#666663;+A.......r   c                  >    e Zd Z eddd          d	d            ZdS )
FoorP   rS   cryingr*   r   rT   c                    dS )NrE   r.   selfs    r   methodz
Foo.methodo   s    qr   Nr   rT   )__name__
__module____qualname__r   r_   r.   r   r   rZ   rZ   n   sD        ZS(333   43  r   rZ   c                    t                      }|                                dk    sJ |                     t                    }t	          |j        t                    sJ d|j        j        d         v sJ d S )NrE   z'test_deprecate.Foo.method is deprecatedr   )rZ   r_   r3   r4   r5   r6   r7   r8   )r   fr9   s      r    test_deprecated_decorator_methodrf   t   sm    A88::????


/
0
0Cck7+++++48H8KKKKKKKr   r(   z	the thing)thingr+   r,   c                     dS )NH   r.   r.   r   r   deprecated_with_thingrj   |   s    2r   c                    t                      dk    sJ |                     t                    }t          |j        t
                    sJ d|j        j        d         v sJ d S )Nri   zthe thing is deprecatedr   )rj   r3   r4   r5   r6   r7   r8   r=   s     r   -test_deprecated_decorator_with_explicit_thingrl      sh     !""b((((


/
0
0Cck7+++++$(8(;;;;;;;r   strc                     dS )Nnew hotnessr.   r.   r   r   new_hotnessrp      s    =r   old_hotness1.23r+   c                   t                      dk    s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 d S )	Nro   z(test_deprecate.old_hotness is deprecatedr   rr   z"test_deprecate.new_hotness insteadzissues/1z.. deprecated:: 1.23zissues/1>`__)	rq   r3   r4   r5   r6   r7   r8   __doc__rm   r=   s     r   test_deprecated_aliasrv      s
   ==M))))


/
0
0Cck7+++++59I!9LLLLLS[%a(((((/3;3CA3FFFFF)!,,,,,k)3/////![%88888/;3FFFFF[0000000r   c                  4    e Zd Zd	dZ ededd          ZdS )
Aliasr   rm   c                    dS )Nnew hotness methodr.   r]   s    r   new_hotness_methodzAlias.new_hotness_method   s    ##r   zAlias.old_hotness_methodz3.21r
   rs   Nr   rm   )ra   rb   rc   r{   r   old_hotness_methodr.   r   r   rx   rx      sJ        $ $ $ $ *)"	  r   rx   c                    t                      }|                                dk    sJ |                     t                    }t	          |j        t                    sJ |j        j        d         }d|v sJ d|v sJ d S )Nrz   r   z5test_deprecate.Alias.old_hotness_method is deprecatedz/test_deprecate.Alias.new_hotness_method instead)rx   r}   r3   r4   r5   r6   r7   r8   )r   objr9   msgs       r   test_deprecated_alias_methodr      s    
''C!!##';;;;;


/
0
0Cck7+++++
+
1
CBcIIII<CCCCCCr   z2.1hic                     dS zHello!Nr.   r.   r   r   docstring_test1r            r   c                     dS r   r.   r.   r   r   docstring_test2r      r   r   c                     dS r   r.   r.   r   r   docstring_test3r      r   r   c                     dS 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 d S )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   ru   r   r   r   r.   r   r   !test_deprecated_docstring_mungingr      s    	 	 	 	 		 	 	 	 		 	 	 	 		 	 	 	 	 	r   c                b   t           j        dk    sJ t          |           dk    sJ t          t                     t          u sJ t                      \  }}t           j        dk    s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 |                     t                    }t          |j
        t                    sJ d
|j
        j        d         v sJ t!          j        t$                    5  t           j         d d d            d S # 1 swxY w Y   d S )Nr   r   value1r
   zmodule_with_deprecations.dep1zTrio 1.1r0   zvalue1 insteadvalue2zinstead-string instead)r   regularr2   typer   r#   dep1r3   r4   r5   r6   r7   r   r    r8   dep2pytestraisesAttributeErrorasdf)r   r   r    r9   s       r   test_module_with_deprecationsr      s   #+t3333~!####())Z7777wwHf#(H4444


/
0
0Cck7+++++<8####:!####*ck.>q.AAAAA)!,,,,,#+*1-----s{/22222#(H4444


/
0
0Cck7+++++#s{'7':::::	~	&	& & & %%& & & & & & & & & & & & & & & & & &s   
F$$F(+F(c                    t          j                    5  t          ddd d            d d d            n# 1 swxY w Y   t          j        t          d          5  t          ddd d            d d d            n# 1 swxY w Y   t          j        t
                    5  t          ddd d d           d d d            d S # 1 swxY w Y   d S )Nfoobarr*   z6^foo is deprecated since Trio bar with no replacement$)matchT)r+   r,   use_triodeprecationwarning)r   deprecated_callr	   warnsr4   r   r.   r   r   test_warning_classr     s   			!	! @ @uD$????@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
F
 
 
 @ @ 	uD$????	@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
,	-	- 
 
'+	
 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s0   488A::A>A>C  CC)r   r   r   r   )r   r   )r   r   r   r$   r1   r`   r|   ))
__future__r   r   r   typesr   r   
_deprecater   r   r   r	    r   fixturer   r#   r:   r>   rI   rK   rN   rQ   rV   rX   rZ   rf   rj   rl   rp   rq   rv   rx   r   r   r   r   r   r   r   r   r.   r   r   <module>r      s   " " " " " "                     ' & & & & &    ( ( ( ($ $ $ $"
- 
- 
- 
-$ $ $ $	 	 	 		 	 	 	? ? ? ? Ec***   +*/ / / /       L L L L ED$???   @?< < < <    }k6KKK1 1 1 1	 	 	 	 	 	 	 	D D D D ED)))   *) Et,,,   -, ED)))   *) Et,,,   -,' ' ' 'T& & & &6
 
 
 
 
 
r   