
    Eg                       U d dl mZ d dlZd dlZd dlmZmZmZmZ d dl	Z	d dl
Z
d dlmZ d dlmZ erd dlmZmZ e	j        d@d            ZdAdZdBdZdCdZeee
j                 eej                 f         Zeeee         f         Ze
j        ej        fej        e
j        fe
j        e
j        fgZded<   e	j                            de          dDd            Z e
j        ej        fe
j        e
j        fe
j        efee
j        fgZ!ded<   e	j                            de!          dEd            Z"e	j                            de
j        ej        fe
j        e
j        fg          e	j                            dg d          dFd                         Z#dBd!Z$dBd"Z%e	j                            dd#d$g          dGd%            Z&dBd&Z'e	j                            dd'd(g          dGd)            Z(dHd*Z)dBd+Z*dBd,Z+dCd-Z, G d. d/          Z- G d0 d1          Z.e.Z/d2ed3<   dCd4Z0dCd5Z1dCd6Z2dCd7Z3e	j                            d8e
j        j4        e
j        j5        g          dId:            Z6dCd;Z7dBd<Z8dBd=Z9dBd>Z:dCd?Z;dS )J    )annotationsN)TYPE_CHECKINGAnyTypeUnion)AsyncIOWrapper)AsyncAutoWrapperType)	AwaitableCallabletmp_pathpathlib.Pathreturn	trio.Pathc                0    t          j        | dz            S )Ntest)trioPath)r   s    J/var/www/sysmax/venv/lib/python3.11/site-packages/trio/_tests/test_path.pypathr      s    9X&'''    r   strmethod_name<tuple[Callable[[], object], Callable[[], Awaitable[object]]]c                    t          j        |           }t          j        |           }t          ||          t          ||          fS N)pathlibr   r   getattr)r   r   	sync_path
async_paths       r   method_pairr       s?     T""I4J9k**GJ,L,LLLr   Nonec                   K   |                      d           d {V 4 d {V }t          |t                    sJ 	 d d d           d {V  n# 1 d {V swxY w Y   |j        sJ d S Nw)open
isinstancer   closedr   fs     r   "test_open_is_async_context_managerr*      s      YYs^^###### - - - - - - -q!^,,,,,,- - - - - - - - - - - - - - - - - - - - - - - - - - - 8OOOOOs   A
AAc                    K   t          j        d          } t          |           dk    sJ t          |           dk    sJ d S )Nr   s   test)r   r   r   bytesr   s    r   
test_magicr.   &   sI      9VDt99;;'!!!!!!r   z+list[tuple[EitherPathType, EitherPathType]]	cls_pairs)cls_acls_br0   EitherPathTyper1   c                   K    | d           |d          }}||k    sJ ||k    rJ  | d           |d          }}||k     sJ ||k    sJ |d k    rJ |d k    rJ d S )N ab )r0   r1   r5   r6   s       r   test_cmp_magicr8   6   s      599eeBiiqA6666Avvvv5::uuSzzqAq5555q5555 DyyyyDyyyyyyr   z)list[tuple[PathOrStrType, PathOrStrType]]cls_pairs_strPathOrStrTypec                   K    | d           |d          }}||z  }t          |t          j                  sJ t          |          t          j                            dd          k    sJ d S )Nr5   r6   )r&   r   r   r   osr   join)r0   r1   r5   r6   results        r   test_div_magicr?   Q   sm      5::uuSzzqAUFfdi(((((v;;"',,sC00000000r   )foozfoo/bar/bazz./fooc                z   K    | |           ||          }}t          |          t          |          k    sJ d S r   )hash)r0   r1   r   r5   r6   s        r   test_hash_magicrC   [   sD       5;;dqA77d1ggr   c                J   K   dt          |           v sJ | j        dk    sJ d S )Nnamer   )dirrE   r-   s    r   test_forwarded_propertiesrG   f   s8       SYY9r   c                   K   | j         j        dk    sJ | j         j        dk    sJ | j         j        J d| j         j        v sJ d S )NresolvezPath.resolvezpathlib.Path.resolve)rI   __name____qualname____doc__r-   s    r   test_async_method_signaturerM   m   sa       < I----<$6666<+++!T\%9999999r   is_diris_filec                t   K   t          d|           \  }} |            } |             d {V }||k    sJ d S N.)r    r   methodasync_methodr>   async_results        r   test_compare_async_stat_methodsrW   w   sY      &sK88FLVXXF%''''''L\!!!!!!r   c                   K   t          j        t                    5  t          | d           d d d            d S # 1 swxY w Y   d S )Ninvalid_fake_attr)pytestraisesAttributeErrorr   r-   s    r   test_invalid_name_not_wrappedr]      s      	~	&	& + +)***+ + + + + + + + + + + + + + + + + +s   :>>absoluterI   c                   K   t          d|           \  }} |            } |             d {V }t          |t          j                  sJ t	          |          t	          |          k    sJ d S rQ   )r    r&   r   r   r   rS   s        r   test_async_methods_rewrapr`      s      &sK88FLVXXF%''''''LlDI.....v;;#l++++++++r   c                   K   |                      d          }|                     d          }t          |t          j                  sJ ||dz  k    sJ t          |t          j                  sJ ||dz  k    sJ d S )Nr@   z.pyztest.py)	with_namewith_suffixr&   r   r   )r   r   rb   rc   s       r   test_forward_methods_rewraprd      s      u%%I""5))Ki+++++5(((((k49-----(Y.......r   c                L   K   t          | j        t          j                  sJ d S r   )r&   parentr   r   r-   s    r   test_forward_properties_rewraprg      s&      dk49-------r   c                   K   | j                                          d {V } |                                                     d          sJ d S )Nzfile:///)rf   rI   as_uri
startswithr-   s    r   #test_forward_methods_without_rewraprk      sS      $$&&&&&&&&D;;==##J///////r   c                 \   K   t          j        d          } t          |           dk    sJ d S )NrR   ztrio.Path('.'))r   r   reprr-   s    r   	test_reprrn      s1      9S>>D::)))))))r   c                      e Zd ZdZdZdS )MockWrappedunsupportedprivateN)rJ   
__module__rK   rq   _privater7   r   r   rp   rp      s        KHHHr   rp   c                      e Zd ZeZeZdS )_MockWrapperN)rJ   rs   rK   rp   	_forwards_wrapsr7   r   r   rv   rv      s        IFFFr   rv   r   MockWrapperc                    K   t          j        t                    5  t          j        t
          i            d d d            d S # 1 swxY w Y   d S r   )rZ   r[   	TypeErrorWrapperTypegenerate_forwardsry   r7   r   r   test_type_forwards_unsupportedr~      s      	y	!	! 7 7%k26667 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7   AAAc                    K   t          j        t                    5  t          j        t
          i            d d d            d S # 1 swxY w Y   d S r   )rZ   r[   r{   r|   generate_wrapsry   r7   r   r   test_type_wraps_unsupportedr      s      	y	!	! 4 4";3334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4r   c                 p   K   t          j        t          dd i           t          t          d          rJ d S Nrq   rt   )r|   r}   ry   hasattrr7   r   r   test_type_forwards_privater      s:      !+t/DEEE{J///////r   c                 p   K   t          j        t          dd i           t          t          d          rJ d S r   )r|   r   ry   r   r7   r   r   test_type_wraps_privater      s:      {]D,ABBB{J///////r   meth(Callable[[trio.Path, trio.Path], object]c                n   K   |                                   d {V } || |          }|| }||k    sJ d S r   )r^   )r   r   wrappedr>   s       r   test_path_wraps_pathr      sY      
 MMOO######GT$  F~fr   c                    K   t          j        t                    5  t          j        d           d d d            d S # 1 swxY w Y   d S )N   )rZ   r[   r{   r   r   r7   r   r   test_path_nonpathr      s      	y	!	!  	!                 s   >AAc                   K   t          j        | d           d {V 4 d {V }|j        t          j        |           k    sJ 	 d d d           d {V  d S # 1 d {V swxY w Y   d S r#   )r   	open_filerE   r<   fspathr(   s     r   test_open_file_can_open_pathr      s     ^D#........ ) ) ) ) ) ) )!v4((((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s    A
A"%A"c                  K   |                                   d {V  | dz                                    d {V  | dz  dz                      d           d {V  | dz                      d           d {V  | dz                      d           d {V  dhddhd                                D ]o\  }}t                      }|                     |           d {V D ]8}t          |t          j                  sJ |                    |j	                   9||k    sJ pt                      }| 
                    d           d {V D ]8}t          |t          j                  sJ |                    |j	                   9|ddhk    sJ d S )Nr@   z_bar.txtr   bar.txtzbar.dat)*.txtz**/*.txtr   )mkdirwrite_bytesitemssetglobr&   r   r   addrE   rglob)r   _pattern_resultsentriesentrys        r   test_globmethodsr      s     
**,,%<


 
        %<*$
1
1#
6
66666666)
(
(
-
--------)
(
(
-
-------- +  egg	# 	#( %%99X........ 	$ 	$EeTY/////KK
####(""""" eeGzz'********    %+++++EJz9-------r   c                  K   |                                   d {V  | dz                                    d {V  | dz                      d           d {V  t                      }|                                  d {V D ]8}t	          |t
          j                  sJ |                    |j                   9|ddhk    sJ d S )Nr@   r   r   )	r   r   r   iterdirr&   r   r   r   rE   )r   r   r   s      r   test_iterdirr     s      
**,,%<


 
        )
(
(
-
--------eeG||~~%%%%%%    %+++++EJy%(((((((r   c                   K   t          t          j                                         d {V t          j                  sJ t	          t          j                                         d {V           t
          j                            d          k    sJ t	          t          j                                         d {V           t          j	                    k    sJ t          j        j        j
        sJ d S )N~)r&   r   r   homer   r<   r   
expandusercwdgetcwdrL   r7   r   r   test_classmethodsr     s      DINN,,,,,,,,di88888 TY^^%%%%%%%%&&"'*<*<S*A*AAAAATY]]__$$$$$$%%4444 9>!!!!!!r   )r   r   r   r   )r   r   r   r   r   r   )r   r   r   r!   )r   r!   )r0   r2   r1   r2   r   r!   )r0   r:   r1   r:   r   r!   )r0   r2   r1   r2   r   r   r   r!   )r   r   r   r!   )r   r   r   r   r   r!   )r   r   r   r   r   r!   )<
__future__r   r<   r   typingr   r   r   r   rZ   r   trio._file_ior   
trio._pathr	   r|   collections.abcr
   r   fixturer   r    r*   r.   r   r2   r   r:   r/   __annotations__markparametrizer8   r9   r?   rC   rG   rM   rW   r]   r`   rd   rg   rk   rn   rp   rv   ry   r~   r   r   r   __init__joinpathr   r   r   r   r   r   r7   r   r   <module>r      s   " " " " " " " 				  2 2 2 2 2 2 2 2 2 2 2 2   ( ( ( ( ( ( : : : : : : 433333333 ( ( ( (M M M M   " " " " tDIW\(::;nd3i/0	Y\49	Y	:	     +Y77   87& 
Y	Y		Y$)	<     +];;1 1 1 <;1 $)W\2TY	4JK  !@!@!@AA   BA    : : : : 9(=>>" " " ?>"+ + + +
 Y(?@@, , , A@,/ / / /. . . .0 0 0 0* * * *       
       
      7 7 7 7
4 4 4 4
0 0 0 00 0 0 0 $)"4di6H!IJJ	 	 	 KJ	   
) ) ) )
. . . .:) ) ) )" " " " " "r   