
    ,h                        d dl mZ d dlmZ d dlZd dlZddlmZ ddlm	Z	m
Z
  ej                  d       G d	 d
e
             Z ej                  d       G d de	             ZddZddZy)    )annotations)NoReturnN   )StapledStream)ReceiveStream
SendStreamF)slotsc                  T    e Zd ZU  ej                  e      Zded<   ddZddZ	ddZ
y)	RecordSendStreamzlist[str | tuple[str, object]]recordc                F   K   | j                   j                  d|f       y w)Nsend_allr   append)selfdatas     d/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/trio/_tests/test_highlevel_generic.pyr   zRecordSendStream.send_all   s     J-.   !c                B   K   | j                   j                  d       y w)Nwait_send_all_might_not_blockr   r   s    r   r   z.RecordSendStream.wait_send_all_might_not_block   s     :;   c                B   K   | j                   j                  d       y wNacloser   r   s    r   r   zRecordSendStream.aclose        8$r   N)r   objectreturnNoner   r   )__name__
__module____qualname__attrsFactorylistr   __annotations__r   r   r        r   r   r      s'    -:U]]4-@F*@/<%r)   r   c                  N    e Zd ZU  ej                  e      Zded<   dddZddZ	y)	RecordReceiveStreamz"list[str | tuple[str, int | None]]r   Nc                F   K   | j                   j                  d|f       yw)Nreceive_somer)   r   )r   	max_bytess     r   r-   z RecordReceiveStream.receive_some   s      NI67r   c                B   K   | j                   j                  d       y wr   r   r   s    r   r   zRecordReceiveStream.aclose"   r   r   )N)r.   z
int | Noner   bytesr    )
r!   r"   r#   r$   r%   r&   r   r'   r-   r   r(   r)   r   r+   r+      s"    1>t1DF.D%r)   r+   c                   K   t               t               } t        |       }|j                  u sJ |j                  | u sJ |j                  d       d {    |j                          d {    j                  ddgk(  sJ j                  j                          |j                          d {    j                  dgk(  sJ j                  j                          d	fd}|_	        |j                          d {    j                  dgk(  sJ j                  j                          | j                  g k(  sJ |j                  d       d {    | j                  dgk(  sJ j                  g k(  sJ | j                  j                          |j                          d {    | j                  dgk(  sJ j                  dgk(  sJ y 7 7 n7 ,7 7 7 6w)
N   foo)r   r2   r   r   c                 D   K    j                   j                  d       y w)Nsend_eofr   )send_streams   r   fake_send_eofz)test_StapledStream.<locals>.fake_send_eof:   s     !!*-s    r4     )r-   r7   r    )r   r+   r   r5   receive_streamr   r   r   clearr4   r-   r   )r8   stapledr6   r5   s      @r   test_StapledStreamr;   &   s    "$K(*NK8G+--!!^33


6
"""

/
/
111'"   



(++. )K



*--  B&&


t
$$$  %;$<<<##!
..
  XJ..(+++; #1   %
 sp   AG*GG*0G1AG*5G!6AG*G$AG*G&AG*1G(2*G*G*!G*$G*&G*(G*c                   K    G d dt               }  G d dt              }t         |         |             }t        j                  t
        d      5 }|j                          d {    d d d        t        j                  j                  t
              sJ |j                  j                  dgk(  sJ |j                  j                  dgk(  sJ y 7 k# 1 sw Y   jxY ww)Nc                        e Zd Zd fdZ xZS )@test_StapledStream_with_erroring_close.<locals>.BrokenSendStreamc                R   K   t         |           d {    t        d      7 w)Nz
send errorsuperr   
ValueErrorr   	__class__s    r   r   zGtest_StapledStream_with_erroring_close.<locals>.BrokenSendStream.acloseR   '     '."""\** #   '%'r   r   r!   r"   r#   r   __classcell__rD   s   @r   BrokenSendStreamr>   Q       	+ 	+r)   rK   c                        e Zd Zd fdZ xZS )Ctest_StapledStream_with_erroring_close.<locals>.BrokenReceiveStreamc                R   K   t         |           d {    t        d      7 w)Nz
recv errorr@   rC   s    r   r   zJtest_StapledStream_with_erroring_close.<locals>.BrokenReceiveStream.acloseW   rE   rF   rG   rH   rJ   s   @r   BrokenReceiveStreamrN   V   rL   r)   rP   z^(send|recv) error$)matchr   )r   r+   r   pytestraisesrB   r   
isinstancevalue__context__r5   r   r8   )rK   rP   r:   excinfos       r   &test_StapledStream_with_erroring_closerX   N   s     ++ +
+1 +
 ,.0C0EFG	z)?	@ Gnngmm//<<%%(33!!((XJ666	 	 s1   AC C&C'C+A'C CCC r    )
__future__r   typingr   r$   rR   _highlevel_genericr   abcr   r   definer   r+   r;   rX   r(   r)   r   <module>r^      sn    "    . + E
%z 
% 
% E%- % %%,P7r)   