
    i                    :   % S SK Jr  S SKrS SKrS SKJr  S SKrS SKrS SKJ	r	  \(       a  S SK
JrJr  \R                  S2S j5       r      S3S	 jr\R                   R#                  \R$                  S
:H  SS9S4S j5       r\R                   R#                  \R$                  S
:g  SS9S4S j5       rS5S jrS4S jr\\R0                     \\R0                     -  r\\\   -  r\R0                  \R0                  4\R0                  \R0                  4\R0                  \R0                  4/rS\S'   \R                   R=                  S\5      S6S j5       r\R0                  \R0                  4\R0                  \R0                  4\R0                  \4\\R0                  4/r S\S'   \R                   R=                  S\ 5      S7S j5       r!\R                   R=                  S\R0                  \R0                  4\R0                  \R0                  4/5      \R                   R=                  S/ SQ5              S8S j5       5       r"S5S jr#S5S jr$\R                   R=                  SSS/5      S9S j5       r%S5S  jr&\R                   R=                  SS!S"/5      S9S# j5       r'S:S$ jr(S5S% jr)S5S& jr*S4S' jr+\R                   R=                  S(\R0                  RX                  \R0                  RZ                  /5            S;S) j5       r.S4S* jr/S5S+ jr0S5S, jr1S5S- jr2S5S. jr3S4S/ jr4\R                   R=                  S0\Rj                  Rl                  \Rj                  Rn                  \Rj                  Rp                  \Rj                  Rr                  /5          S<S1 j5       r:g)=    )annotationsN)TYPE_CHECKING)AsyncIOWrapper)	AwaitableCallablec                4    [         R                  " U S-  5      $ )Ntest)trioPath)tmp_paths    BC:\des-py\RoboSAPF\venv\Lib\site-packages\trio/_tests/test_path.pypathr      s    99X&''    r   method_namec                    [         R                  " U 5      n[        R                  " U 5      n[        X!5      [        X15      4$ N)pathlibr   r
   getattr)r   r   	sync_path
async_paths       r   method_pairr      s4     T"I4J9*GJ,LLLr   ntzOS is not posix)reasonc                 l    [        [        R                  " 5       [        R                  5      (       d   eg r   )
isinstancer
   r   	PosixPath r   r   test_instantiate_posixr      s    diik4>>2222r   zOS is not Windowsc                 l    [        [        R                  " 5       [        R                  5      (       d   eg r   )r   r
   r   WindowsPathr   r   r   test_instantiate_windowsr!   #   s!    diik4#3#34444r   c                  #    U R                  S5      I S h  vN  IS h  vN n[        U[        5      (       d   eS S S 5      IS h  vN   WR                  (       d   eg  NH NA N! , IS h  vN  (       d  f       N1= f7fNw)openr   r   closedr   fs     r   "test_open_is_async_context_managerr)   (   sQ     YYs^###q!^,,,, $# 88O8 $###sS   B A B A"B A&B A$B "B $B &A=,A/-A=9B c                 t    [         R                  " S5      n [        U 5      S:X  d   e[        U 5      S:X  d   eg )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                    U " S5      U" S5      p2X#:X  d   eX#:w  a   eU " S5      U" S5      p2X#:  d   eX2:  d   eUS :X  a   eUS :X  a   eg )N abr   )r0   r1   r4   r5   s       r   test_cmp_magicr6   ?   sa    9eBiq6M6v::uSzq5L55L5 Dy=Dy=yr   z)list[tuple[PathOrStrType, PathOrStrType]]cls_pairs_strc                    U " S5      U" S5      p2X#-  n[        U[        R                  5      (       d   e[        U5      [        R
                  R                  SS5      :X  d   eg )Nr4   r5   )r   r
   r   r+   osr   join)r0   r1   r4   r5   results        r   test_div_magicr<   Z   sP    :uSzqUFfdii((((v;"'',,sC0000r   )foozfoo/bar/bazz./fooc                V    U " U5      U" U5      pC[        U5      [        U5      :X  d   eg r   )hash)r0   r1   r   r4   r5   s        r   test_hash_magicr@   d   s)     ;dq7d1gr   c                J    S[        U 5      ;   d   eU R                  S:X  d   eg )Nnamer	   )dirrB   r-   s    r   test_forwarded_propertiesrD   r   s(     SY99r   c                   U R                   R                  S:X  d   eU R                   R                  S:X  d   eU R                   R                  c   eU R                   R                  U R                   R                  ;   d   eg )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                f   #    [        SU 5      u  pU" 5       nU" 5       I S h  vN nX4:X  d   eg  N7fN.)r   r   methodasync_methodr;   async_results        r   test_compare_async_stat_methodsrT      s6     &sK8FXF%'L!!! (s    1/1c                    [         R                  " [        5         [        U S5        S S S 5        g ! , (       d  f       g = f)Ninvalid_fake_attr)pytestraisesAttributeErrorr   r-   s    r   test_invalid_name_not_wrappedrZ      s%    	~	&)* 
'	&	&s   1
?absoluterF   c                   #    [        SU 5      u  pU" 5       nU" 5       I S h  vN n[        U[        R                  5      (       d   e[	        U5      [	        U5      :X  d   eg  N@7frN   )r   r   r
   r   r+   rP   s        r   test_async_methods_rewrapr]      sX     &sK8FXF%'LlDII....v;#l++++ (s    A%A#AA%c                    U R                  S5      nU R                  S5      n[        U[        R                  5      (       d   eX!S-  :X  d   e[        U[        R                  5      (       d   eX1S-  :X  d   eg )Nr=   z.pyztest.py)	with_namewith_suffixr   r
   r   )r   r   r_   r`   s       r   test_forward_methods_rewrapra      sp    u%I""5)Ki++++5((((k499----Y....r   c                Z    [        U R                  [        R                  5      (       d   eg r   )r   parentr
   r   r-   s    r   test_forward_properties_rewraprd      s    dkk499----r   c                D    S[        U R                  S5      5      ;   d   eg )Nztotally-unique-path)r+   joinpathr-   s    r   #test_forward_methods_without_rewraprg      s     C6K(L$MMMMr   c                 R    [         R                  " S5      n [        U 5      S:X  d   eg )NrO   ztrio.Path('.'))r
   r   reprr-   s    r   	test_reprrj      s"    99S>D:))))r   methc                h   #    U R                  5       I S h  vN nU" X5      nUc  U nX#:X  d   eg  N7fr   )r[   )r   rk   wrappedr;   s       r   test_path_wraps_pathrn      s:     
 MMO#G$ F~ $s   202c                     [         R                  " [        5         [        R                  " S5        S S S 5        g ! , (       d  f       g = f)N   )rW   rX   	TypeErrorr
   r   r   r   r   test_path_nonpathrr      s%    	y	!		! 
"	!	!s	   ;
A	c                  #    [         R                  " U S5      I S h  vN  IS h  vN nUR                  [        R                  " U 5      :X  d   eS S S 5      IS h  vN   g  ND N= N	! , IS h  vN  (       d  f       g = f7fr#   )r
   	open_filerB   r9   fspathr'   s     r   test_open_file_can_open_pathrv      sL     ^^D#....!vv4((( /.....sT   BA"BA$B'A(BA&B$B&B(A?.A1/A?;Bc                >  #    U R                  5       I S h  vN   U S-  R                  5       I S h  vN   U S-  S-  R                  S5      I S h  vN   U S-  R                  S5      I S h  vN   U S-  R                  S5      I S h  vN   S1SS1S.R                  5        Hr  u  p[        5       nU R	                  U5      I S h  vN  H?  n[        U[        R                  5      (       d   eUR                  UR                  5        MA     X2:X  a  Mr   e   [        5       nU R                  S5      I S h  vN  H?  n[        U[        R                  5      (       d   eUR                  UR                  5        MA     USS1:X  d   eg  GNt GN\ GN@ GN' GN N Nc7f)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      su    
**,%<


   %<*$
1
1#
666)
(
(
---)
(
(
--- + eg %99X...EeTYY////KK

# / """ eGzz'***%++++EJJ + z9----1  6-- / +s   FF
FFFFF,F-FF	=FFA
F"F7F8AFFFFFFFc                   #    U R                   R                  5       I S h  vN n U R                  5       R                  S5      (       d   eg  N+7f)Nzfile:///)rc   rF   as_uri
startswithr-   s    r   test_as_urir      s<     $$&&D;;=##J//// 's   AA,Ac                  #    U R                  5       I S h  vN   U S-  R                  5       I S h  vN   U S-  R                  S5      I S h  vN   [        5       nU R                  5       I S h  vN  H?  n[	        U[
        R                  5      (       d   eUR                  UR                  5        MA     USS1:X  d   eg  N N Nx NX7f)Nr=   rx   r   )	rz   r{   r}   iterdirr   r
   r   r   rB   )r   r   r   s      r   test_iterdirr      s     
**,%<


   )
(
(
---eG||~%%%++++EJJ & y%((((  - &sD   C
CC
CC
C!C
/C0AC
C
C
C
c                 ,  #    [        [        R                  R                  5       I S h  vN [        R                  5      (       d   e[	        [        R                  R                  5       I S h  vN 5      [
        R                  R                  S5      :X  d   e[	        [        R                  R                  5       I S h  vN 5      [
        R                  " 5       :X  d   e[        R                  R                  R                  (       d   eg  N N NQ7f)N~)r   r
   r   homer+   r9   r   
expandusercwdgetcwdrI   r   r   r   test_classmethodsr      s     DIINN,,dii8888 TYY^^%%&"''*<*<S*AAAATYY]]_$%444 99>>!!!! - &$s6   'DDAD.D/AD DADDDwrapperc                6    U SS j5       nUR                   b   eg )Nc                     g r   r   r   r   r   func_without_docstring@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   