
    \d	                         d dl mZ d dl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dS )    )BytesIO)abstractprotocol)basicloopback)unittestc                       e Zd ZdZd ZdS )BufferingServer    c                 &    | xj         |z  c_         d S N)buffer)selfdatas     8lib/python3.11/site-packages/twisted/test/test_tpfile.pydataReceivedzBufferingServer.dataReceived   s    tr   N)__name__
__module____qualname__r   r    r   r   r
   r
      s(        F    r   r
   c                       e Zd Zd Zd ZdS )FileSendingClientc                     || _         d S r   )f)r   r   s     r   __init__zFileSendingClient.__init__   s    r   c                      t          j                    }|                     j         j        d           }|                     fd           d S )Nc                     | S r   r   xs    r   <lambda>z2FileSendingClient.connectionMade.<locals>.<lambda>   s    ! r   c                 6    j                                         S r   )	transportloseConnection)rr   s    r   r    z2FileSendingClient.connectionMade.<locals>.<lambda>   s     = = ? ? r   )r   
FileSenderbeginFileTransferr   r"   addCallback)r   sds   `  r   connectionMadez FileSendingClient.connectionMade   sP    DD	????@@@@@r   N)r   r   r   r   r*   r   r   r   r   r      s7          A A A A Ar   r   c                       e Zd Zd Zd ZdS )FileSenderTestsc                      dt                      t          t                              }t          j        |          }|                     fd           |S )Ns  xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123c                 :                         j                  S r   )assertEqualr   )r   r(   r   testStrs    r   r    z1FileSenderTests.testSendingFile.<locals>.<lambda>$   s     0 07 C C r   )r
   r   r   r   loopbackTCPr'   )r   cr)   r(   r0   s   `  @@r   testSendingFilezFileSenderTests.testSendingFile   sc    <gg..// A&&	CCCCCCDDDr   c                    t          j                    }t          j                    }d|_        t          d          }|                    ||d           }|                     |j                   | 	                    |j
        d           d S )N   r   c                     | S r   r   r   s    r   r    z6FileSenderTests.testSendingEmptyFile.<locals>.<lambda>-   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'   s    %''
*,,CLL	((HkkJJ 	(+,,, 	"TUUUUUr   N)r   r   r   r3   r@   r   r   r   r,   r,      s7          V V V V Vr   r,   N)ior   twisted.internetr   r   twisted.protocolsr   r   twisted.trialr   Protocolr
   r   TestCaser,   r   r   r   <module>rG      s   
       / / / / / / / / - - - - - - - - " " " " " "    h'   A A A A A) A A AV V V V Vh' V V V V Vr   