
    ,i                       U 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Zd dlm	Z	 erd dl
mZmZ ej                  d2d       Z	 	 	 	 	 	 d3d	Zej                   j#                  ej$                  d
k(  d      d4d       Zej                   j#                  ej$                  d
k7  d      d4d       Zd5dZd4dZeej0                     eej0                     z  Zeee   z  Zej0                  ej0                  fej0                  ej0                  fej0                  ej0                  fgZded<   ej                   j=                  de      d6d       Zej0                  ej0                  fej0                  ej0                  fej0                  efeej0                  fgZ ded<   ej                   j=                  de       d7d       Z!ej                   j=                  dej0                  ej0                  fej0                  ej0                  fg      ej                   j=                  dg d      	 	 	 	 	 	 	 	 d8d              Z"d5dZ#d5dZ$ej                   j=                  dddg      d9d       Z%d5d Z&ej                   j=                  dd!d"g      d9d#       Z'd:d$Z(d5d%Z)d5d&Z*d4d'Z+ej                   j=                  d(ej0                  jX                  ej0                  jZ                  g      	 	 	 	 	 	 d;d)       Z.d4d*Z/d5d+Z0d5d,Z1d5d-Z2d5d.Z3d4d/Z4ej                   j=                  d0ejj                  jl                  ejj                  jn                  ejj                  jp                  ejj                  jr                  g      	 	 	 	 d<d1       Z:y)=    )annotationsN)TYPE_CHECKING)AsyncIOWrapper)	AwaitableCallablec                2    t        j                  | dz        S )Ntest)trioPath)tmp_paths    d/var/www/system.tvplus.app.br/jogos/scrap/venv/lib/python3.12/site-packages/trio/_tests/test_path.pypathr      s    99X&''    r   method_namec                    t        j                  |       }t        j                  |       }t        ||      t        ||      fS N)pathlibr   r
   getattr)r   r   	sync_path
async_paths       r   method_pairr      s8     T"I4J9k*GJ,LLLr   ntzOS is not posix)reasonc                 `    t        t        j                         t        j                        sJ y r   )
isinstancer
   r   	PosixPath r   r   test_instantiate_posixr      s    diik4>>222r   zOS is not Windowsc                 `    t        t        j                         t        j                        sJ y r   )r   r
   r   WindowsPathr   r   r   test_instantiate_windowsr!   #   s    diik4#3#3444r   c                   K   | j                  d       d {   4 d {   }t        |t              sJ d d d       d {    j                  sJ y 7 >7 77 # 1 d {  7  sw Y   'xY wwNw)openr   r   closedr   fs     r   "test_open_is_async_context_managerr)   (   sh     YYs^# - -q!^,,,- - 88O8 $ - - - - -sS   A1AA1AA1AA1AA1A1A1A."A%#A.*A1c                 n    t        j                  d      } t        |       dk(  sJ t        |       dk(  sJ y )Nr	   s   test)r
   r   strbytesr   s    r   
test_magicr.   /   s4    99VDt9;'!!!r   z+list[tuple[EitherPathType, EitherPathType]]	cls_pairs)cls_acls_bc                     | d       |d      }}||k(  sJ ||k7  rJ  | d       |d      }}||k  sJ ||kD  sJ |d k(  rJ |d k(  rJ y )N abr   )r0   r1   r4   r5   s       r   test_cmp_magicr6   ?   sm    9eBiqA6M6Av::uSzqAq5L5q5L5 Dy=Dy=yr   z)list[tuple[PathOrStrType, PathOrStrType]]cls_pairs_strc                     | d       |d      }}||z  }t        |t        j                        sJ t        |      t        j
                  j                  dd      k(  sJ y )Nr4   r5   )r   r
   r   r+   osr   join)r0   r1   r4   r5   results        r   test_div_magicr<   Z   sQ    :uSzqAUFfdii(((v;"'',,sC0000r   )foozfoo/bar/bazz./fooc                V     | |       ||      }}t        |      t        |      k(  sJ y r   )hash)r0   r1   r   r4   r5   s        r   test_hash_magicr@   d   s+     ;dqA7d1gr   c                D    dt        |       v sJ | j                  dk(  sJ y )Nnamer	   )dirrB   r-   s    r   test_forwarded_propertiesrD   r   s(     SY99r   c                    | j                   j                  dk(  sJ | j                   j                  dk(  sJ | j                   j                  J | j                   j                  | j                   j                  v sJ y )NresolvezPath.resolve)rF   __name____qualname____doc__r-   s    r   test_async_method_signaturerJ   y   sl     <<  I---<<$$666<<+++<<$$(<(<<<<r   is_diris_filec                h   K   t        d|       \  }} |       } |        d {   }||k(  sJ y 7 wN.)r   r   methodasync_methodr;   async_results        r   test_compare_async_stat_methodsrT      s;     &sK8FLXF%'L\!!! (s   !202c                x    t        j                  t              5  t        | d       d d d        y # 1 sw Y   y xY w)Ninvalid_fake_attr)pytestraisesAttributeErrorr   r-   s    r   test_invalid_name_not_wrappedrZ      s.    	~	& +)*+ + +s   09absoluterF   c                   K   t        d|       \  }} |       } |        d {   }t        |t        j                        sJ t	        |      t	        |      k(  sJ y 7 :wrN   )r   r   r
   r   r+   rP   s        r   test_async_methods_rewrapr]      sX     &sK8FLXF%'LlDII...v;#l++++ (s   !A A;A c                    | j                  d      }| j                  d      }t        |t        j                        sJ ||dz  k(  sJ t        |t        j                        sJ ||dz  k(  sJ y )Nr=   z.pyztest.py)	with_namewith_suffixr   r
   r   )r   r   r_   r`   s       r   test_forward_methods_rewrapra      sn    u%I""5)Ki+++5((((k499---(Y....r   c                P    t        | j                  t        j                        sJ y r   )r   parentr
   r   r-   s    r   test_forward_properties_rewraprd      s    dkk499---r   c                @    dt        | j                  d            v sJ y )Nztotally-unique-path)r+   joinpathr-   s    r   #test_forward_methods_without_rewraprg      s     C6K(L$MMMMr   c                 N    t        j                  d      } t        |       dk(  sJ y )NrO   ztrio.Path('.'))r
   r   reprr-   s    r   	test_reprrj      s"    99S>D:))))r   methc                h   K   | j                          d {   } || |      }|| }||k(  sJ y 7 wr   )r[   )r   rk   wrappedr;   s       r   test_path_wraps_pathrn      s?     
 MMO#G$ F~f $s   202c                     t        j                  t              5  t        j                  d       d d d        y # 1 sw Y   y xY w)N   )rW   rX   	TypeErrorr
   r   r   r   r   test_path_nonpathrr      s.    	y	! 		!  s	   9Ac                   K   t        j                  | d       d {   4 d {   }|j                  t        j                  |       k(  sJ d d d       d {    y 7 B7 ;7 	# 1 d {  7  sw Y   y xY wwr#   )r
   	open_filerB   r9   fspathr'   s     r   test_open_file_can_open_pathrv      sk     ^^D#.. ) )!vv4((() ) ). ) ) ) ) )sT   A:AA:A!A:%A%A:A#A:!A:#A:%A7+A.,A73A:c                  K   | j                          d {    | dz  j                          d {    | dz  dz  j                  d       d {    | dz  j                  d       d {    | dz  j                  d       d {    dhddhdj                         D ]k  \  }}t               }| j	                  |       d {   D ]9  }t        |t        j                        sJ |j                  |j                         ; ||k(  rkJ  t               }| j                  d       d {   D ]9  }t        |t        j                        sJ |j                  |j                         ; |ddhk(  sJ y 7 d7 L7 07 7 7 7 Zw)Nr=   z_bar.txtr   bar.txtzbar.dat)*.txtz**/*.txtry   )mkdirwrite_bytesitemssetglobr   r
   r   addrB   rglob)r   _pattern_resultsentriesentrys        r   test_globmethodsr      s~    
**,%<


   %<*$
1
1#
666)
(
(
---)
(
(
--- + eg	#( %99X.. 	$EeTYY///KK

#	$ ("""	# eGzz'**  %+++EJJ  z9----1  6-- / +s   FE:FE=FF F,F-FF	>FFAF!F/F
0AF=F FFFF
Fc                   K   | j                   j                          d {   } | j                         j                  d      sJ y 7 &w)Nzfile:///)rc   rF   as_uri
startswithr-   s    r   test_as_urir      s:     $$&&D;;=##J/// 's   A	A'A	c                  K   | j                          d {    | dz  j                          d {    | dz  j                  d       d {    t               }| j                          d {   D ]9  }t	        |t
        j                        sJ |j                  |j                         ; |ddhk(  sJ y 7 7 7 p7 Pw)Nr=   rx   r   )	rz   r{   r}   iterdirr   r
   r   r   rB   )r   r   r   s      r   test_iterdirr      s     
**,%<


   )
(
(
---eG||~%  %+++EJJ  y%((((  - &sD   CB:CB<CB>!C/C 0AC<C>C Cc                   K   t        t        j                  j                          d {   t        j                        sJ t	        t        j                  j                          d {         t
        j                  j                  d      k(  sJ t	        t        j                  j                          d {         t        j                         k(  sJ t        j                  j                  j                  sJ y 7 7 7 Jw)N~)r   r
   r   homer+   r9   r   
expandusercwdgetcwdrI   r   r   r   test_classmethodsr      s     DIINN,,dii888 TYY^^%%&"''*<*<S*AAAATYY]]_$%444 99>>!!!! - &$s5   'DD?D)D*AD:D;ADDDwrapperc                2    | dd       }|j                   J y )Nc                      y r   r   r   r   r   func_without_docstringz@test_wrapping_without_docstrings.<locals>.func_without_docstring  s    *-r   returnNone)rI   )r   r   s     r    test_wrapping_without_docstringsr     s$     - -!))111r   )r   pathlib.Pathr   	trio.Path)r   r+   r   r+   r   z<tuple[Callable[[], object], Callable[[], Awaitable[object]]]r   )r   r   r   r   )r0   EitherPathTyper1   r   r   r   )r0   PathOrStrTyper1   r   r   r   )r0   r   r1   r   r   r+   r   r   )r   r+   r   r   )r   r   r   r   r   r   )r   r   rk   z(Callable[[trio.Path, trio.Path], object]r   r   )r   z2Callable[[Callable[[], None]], Callable[[], None]]r   r   );
__future__r   r9   r   typingr   rW   r
   trio._file_ior   collections.abcr   r   fixturer   r   markskipifrB   r   r!   r)   r.   typer   r   r+   r   r/   __annotations__parametrizer6   r7   r<   r@   rD   rJ   rT   rZ   r]   ra   rd   rg   rj   __init__rf   rn   rr   rv   r   r   r   r   _path_wraps_async_wrap_method_wrap_method_path_wrap_method_path_iterabler   r   r   r   <module>r      s   " 	      (3 ( (M
MM BM BGGtO,=>3 ?3 BGGtO,?@5 A5" dii4#55c*	YY\\499	YY		:	6  +Y7 8& 
YY	YY			YY$))	<8  +];1 <1 
iiDII 67 !@A  
	 B	
= 9(=>" ?"+
 Y(?@, A,/.N* $))"4"4dii6H6H!IJ	
	
2	 
	 K	
)
.:0)" 





$$

--	2?2	22r   