
     f                        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dS )    )annotations)NoReturnN   )StapledStream)ReceiveStream
SendStreamF)slotsc                  R    e Zd ZU  ej        e          Zded<   ddZddZ	dd	Z
d
S )RecordSendStreamzlist[str | tuple[str, object]]recorddataobjectreturnNonec                B   K   | j                             d|f           d S )Nsend_allr   append)selfr   s     e/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/trio/_tests/test_highlevel_generic.pyr   zRecordSendStream.send_all   s'      J-.....    c                >   K   | j                             d           d S )Nwait_send_all_might_not_blockr   r   s    r   r   z.RecordSendStream.wait_send_all_might_not_block   s#      :;;;;;r   c                >   K   | j                             d           d S Nacloser   r   s    r   r   zRecordSendStream.aclose   "      8$$$$$r   N)r   r   r   r   r   r   )__name__
__module____qualname__attrsFactorylistr   __annotations__r   r   r    r   r   r   r      so         -:U]4-@-@F@@@@/ / / /< < < <% % % % % %r   r   c                  L    e Zd ZU  ej        e          Zded<   dddZdd
Z	dS )RecordReceiveStreamz"list[str | tuple[str, int | None]]r   N	max_bytes
int | Noner   bytesc                B   K   | j                             d|f           dS )Nreceive_somer   r   )r   r*   s     r   r.   z RecordReceiveStream.receive_some   s&      NI6777sr   r   c                >   K   | j                             d           d S r   r   r   s    r   r   zRecordReceiveStream.aclose"   r   r   )N)r*   r+   r   r,   r   )
r    r!   r"   r#   r$   r%   r   r&   r.   r   r'   r   r   r)   r)      s`         1>t1D1DFDDDD    % % % % % %r   r)   r   r   c                   K   t                      t                      } t          |           }|j        u sJ |j        | u sJ |                    d           d {V  |                                 d {V  j        ddgk    sJ j                                         |	                                 d {V  j        dgk    sJ j                                         dfd}|_	        |	                                 d {V  j        dgk    sJ j                                         | j        g k    sJ |
                    d	           d {V  | j        d
gk    sJ j        g k    sJ | j                                         |                                 d {V  | j        dgk    sJ j        dgk    sJ d S )N   foo)r   r1   r   r   r   r   c                 @   K    j                             d           d S )Nsend_eofr   )send_streams   r   fake_send_eofz)test_StapledStream.<locals>.fake_send_eof:   s$      !!*-----r   r3     )r.   r6   r   )r   r)   r   r4   receive_streamr   r   r   clearr3   r.   r   )r7   stapledr5   r4   s      @r   test_StapledStreamr:   &   so     "$$K(**NK88G+----!^3333


6
"
""""""""

/
/
1
11111111'"     




(++++. . . . . . )K




*---- B&&&&


t
$
$$$$$$$$ %;$<<<<<####!!!
..

 XJ....(++++++r   c                   K    G d dt                     }  G d dt                    }t           |              |                      }t          j        t
          d          5 }|                                 d {V  d d d            n# 1 swxY w Y   t          |j        j	        t
                    sJ |j
        j        dgk    sJ |j        j        dgk    sJ d S )Nc                        e Zd Zd fdZ xZS )@test_StapledStream_with_erroring_close.<locals>.BrokenSendStreamr   r   c                r   K   t                                                       d {V  t          d          )Nz
send errorsuperr   
ValueErrorr   	__class__s    r   r   zGtest_StapledStream_with_erroring_close.<locals>.BrokenSendStream.acloseR   ;      ''.."""""""""\***r   r   r   r    r!   r"   r   __classcell__rC   s   @r   BrokenSendStreamr=   Q   =        	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+r   rI   c                        e Zd Zd fdZ xZS )Ctest_StapledStream_with_erroring_close.<locals>.BrokenReceiveStreamr   r   c                r   K   t                                                       d {V  t          d          )Nz
recv errorr?   rB   s    r   r   zJtest_StapledStream_with_erroring_close.<locals>.BrokenReceiveStream.acloseW   rD   r   rE   rF   rH   s   @r   BrokenReceiveStreamrL   V   rJ   r   rN   z^(send|recv) error$)matchr   )r   r)   r   pytestraisesrA   r   
isinstancevalue__context__r4   r   r7   )rI   rN   r9   excinfos       r   &test_StapledStream_with_erroring_closerV   N   s^     + + + + ++ + + +
+ + + + +1 + + +
 ,,..0C0C0E0EFFG	z)>	?	?	? 7nn              gm/<<<<<%(3333!(XJ666666s   $BBBr   )
__future__r   typingr   r#   rP   _highlevel_genericr   abcr   r   definer   r)   r:   rV   r'   r   r   <module>r\      s$   " " " " " "         . . . . . . + + + + + + + + E
% 
% 
% 
% 
%z 
% 
% 
% E% % % % %- % % %%, %, %, %,P7 7 7 7 7 7r   