Ë
    ojÄ  ã                   ó¾   — d dl mZ d dlmZmZmZ d dlmZmZ d dl	m
Z
  G d„ dej                  «      Z G d„ dej                  «      Z G d	„ d
e
j                  «      Zy)é    )ÚBytesIO)ÚabstractÚdeferÚprotocol)ÚbasicÚloopback)Úunittestc                   ó    — e Zd ZdZdeddfd„Zy)ÚBufferingServeró    ÚdataÚreturnNc                 ó.   — | xj                   |z  c_         y ©N)Úbuffer)Úselfr   s     ú:/usr/lib/python3/dist-packages/twisted/test/test_tpfile.pyÚdataReceivedzBufferingServer.dataReceived   s   € Ø�Š�tÑŽr   )Ú__name__Ú
__module__Ú__qualname__r   Úbytesr   © r   r   r   r      s   „ Ø€Fð ð ¨4ô r   r   c                   ó$   — e Zd Zdeddfd„Zdd„Zy)ÚFileSendingClientÚfr   Nc                 ó   — || _         y r   )r   )r   r   s     r   Ú__init__zFileSendingClient.__init__   s	   € Øˆ�r   c                 óÂ   ‡ — ‰ j                   €J ‚t        j                  «       }|j                  ‰ j                  ‰ j                   d„ «      }|j                  ˆ fd„«       y )Nc                 ó   — | S r   r   ©Úxs    r   ú<lambda>z2FileSendingClient.connectionMade.<locals>.<lambda>   s   € À!€ r   c                 ó8   •— ‰j                   j                  «       S r   )Ú	transportÚloseConnection)Úrr   s    €r   r#   z2FileSendingClient.connectionMade.<locals>.<lambda>   s   ø€  §¡× =Ñ =Ó ?€ r   )r%   r   Ú
FileSenderÚbeginFileTransferr   ÚaddCallback)r   ÚsÚds   `  r   ÚconnectionMadez FileSendingClient.connectionMade   sJ   ø€ Ø�~‰~Ð)Ð)Ð)Ü×ÑÓˆØ×Ñ §¡¨¯©¹ÓDˆØ	�‰Ó?Õ@r   ©r   N)r   r   r   r   r   r-   r   r   r   r   r      s   „ ð˜'ð  dó ôAr   r   c                   ó:   — e Zd Zdej                  d   fd„Zdd„Zy)ÚFileSenderTestsr   Nc                 ó¶   ‡ ‡‡— dŠt        «       Št        t        ‰«      «      }t        j                  ‰|«      }dt
        dd fˆˆ ˆfd„}|j                  |«      S )Ns„  xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123r"   r   c                 ó>   •— ‰j                  ‰j                  ‰«       y r   )ÚassertEqualr   )r"   r+   r   ÚtestStrs    €€€r   Úcallbackz1FileSenderTests.testSendingFile.<locals>.callback&   s   ø€ Ø×Ñ˜QŸX™X wÕ/r   )r   r   r   r   ÚloopbackTCPÚobjectr*   )r   Úcr,   r5   r+   r4   s   `   @@r   ÚtestSendingFilezFileSenderTests.testSendingFile   sU   ú€ Ø<ˆÜÓˆÜœg gÓ.Ó/ˆä"*×"6Ñ"6°q¸!Ó"<ˆð	0œð 	0 4÷ 	0ð �}‰}˜XÓ&Ð&r   c                 ó  — t        j                  «       }t        j                  «       }d|_        t        d«      }|j                  ||d„ «      }| j                  |j                  «       | j                  |j                  d«       y )Né   r   c                 ó   — | S r   r   r!   s    r   r#   z6FileSenderTests.testSendingEmptyFile.<locals>.<lambda>1   s   € È€ r   z0producer unregistered with deferred being called)r   r(   r   ÚFileDescriptorÚ	connectedr   r)   ÚassertIsNoneÚproducerÚ
assertTrueÚcalled)r   Ú
fileSenderÚconsumerÚ	emptyFiler,   s        r   ÚtestSendingEmptyFilez$FileSenderTests.testSendingEmptyFile+   sn   € Ü×%Ñ%Ó'ˆ
Ü×*Ñ*Ó,ˆØˆÔÜ˜C“Lˆ	à×(Ñ(¨°H¹kÓJˆð 	×Ñ˜(×+Ñ+Ô,ð 	�‰˜Ÿ™Ð"TÕUr   r.   )r   r   r   r   ÚDeferredr9   rF   r   r   r   r0   r0      s   „ ð
' §¡°Ñ!5ó 
'ôVr   r0   N)Úior   Útwisted.internetr   r   r   Útwisted.protocolsr   r   Útwisted.trialr	   ÚProtocolr   r   ÚTestCaser0   r   r   r   ú<module>rN      sP   ðõ
 ç 6Ñ 6ß -Ý "ô�h×'Ñ'ô ôA˜×)Ñ)ô AôV�h×'Ñ'õ Vr   