Ë
    ojß  ã                   ó˜   — d Z ddlmZmZmZ ddlmZ ddlmZ ddl	m
Z
  G d„ de«      Z G d„ d	e«      Z G d
„ de
ej                  «      Zy)z+
Test cases for twisted.protocols.stateful
é    )ÚcalcsizeÚpackÚunpack)ÚStatefulProtocol)Ú
test_basic)ÚTestCasec                   óL   — e Zd ZdZdZdZ ee«      Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd	„ Zy
)ÚMyInt32StringReceiverz)
    A stateful Int32StringReceiver.
    iŸ† z!Ic                 ó   — | j                   dfS ©Né   )Ú
_getHeader©Úselfs    ú</usr/lib/python3/dist-packages/twisted/test/test_stateful.pyÚgetInitialStatez%MyInt32StringReceiver.getInitialState   s   € Ø�‰ Ð!Ð!ó    c                 ó8   — | j                   j                  «        y ©N)Ú	transportÚloseConnection)r   Úlengths     r   ÚlengthLimitExceededz)MyInt32StringReceiver.lengthLimitExceeded   s   € Ø�‰×%Ñ%Õ'r   c                 ó|   — t        d|«      \  }|| j                  kD  r| j                  |«       y | j                  |fS )Nú!i)r   Ú
MAX_LENGTHr   Ú
_getString)r   Úmsgr   s      r   r   z MyInt32StringReceiver._getHeader   s<   € Ü˜4 Ó%‰	ˆØ�D—O‘OÒ#Ø×$Ñ$ VÔ,ØØ�‰ Ð&Ð&r   c                 ó@   — | j                  |«       | j                  dfS r   )ÚstringReceivedr   ©r   r   s     r   r   z MyInt32StringReceiver._getString&   s   € Ø×Ñ˜CÔ Ø�‰ Ð!Ð!r   c                 ó   — t         ‚)z 
        Override this.
        )ÚNotImplementedErrorr!   s     r   r    z$MyInt32StringReceiver.stringReceived*   s
   € ô "Ð!r   c                 óz   — | j                   j                  t        | j                  t	        |«      «      |z   «       y)zS
        Send an int32-prefixed string to the other end of the connection.
        N)r   Úwriter   ÚstructFormatÚlen)r   Údatas     r   Ú
sendStringz MyInt32StringReceiver.sendString0   s,   € ð 	�‰×ÑœT $×"3Ñ"3´S¸³YÓ?À$ÑFÕGr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r&   r   ÚprefixLengthr   r   r   r   r    r)   © r   r   r
   r
      s<   „ ñð €JØ€LÙ˜LÓ)€Lò"ò(ò'ò"ò"óHr   r
   c                   ó&   — e Zd Zd„ Zd„ ZdZdZd„ Zy)Ú	TestInt32c                 ó   — g | _         y r   )Úreceivedr   s    r   ÚconnectionMadezTestInt32.connectionMade8   s	   € Øˆ�r   c                 ó:   — | j                   j                  |«       y r   )r3   Úappend)r   Úss     r   r    zTestInt32.stringReceived;   s   € Ø�‰×Ñ˜QÕr   é2   r   c                 ó   — d| _         y )Né   )Úclosed)r   Úreasons     r   ÚconnectionLostzTestInt32.connectionLostA   s	   € Øˆ�r   N)r*   r+   r,   r4   r    r   r;   r=   r/   r   r   r1   r1   7   s   „ òò ð €JØ€Fór   r1   c                   ó,   — e Zd ZeZddgZdgZg d¢Zd„ Zy)Ú
Int32Testsó   as   bbbbbbbbbbbbbbbbs
      aaaaaa)s      s   hello therer   c                 óú   — | j                  «       }d}| j                  dz  D ]  }|t        dt        |«      «      |z   z  }Œ |j	                  |«       | j                  |j                  | j                  dz  «       y )Nr   r   r   )ÚgetProtocolÚstringsr   r'   ÚdataReceivedÚassertEqualr3   )r   ÚrÚbigr7   s       r   Útest_bigReceivezInt32Tests.test_bigReceiveK   sp   € Ø×ÑÓˆØˆØ—‘ Ñ!ò 	*ˆAØ”4˜œc !›fÓ%¨Ñ)Ñ)‰Cð	*à	�‰�sÔØ×Ñ˜Ÿ™ T§\¡\°AÑ%5Õ6r   N)	r*   r+   r,   r1   ÚprotocolrC   ÚillegalStringsÚpartialStringsrH   r/   r   r   r?   r?   E   s#   „ Ø€HØ�YÐ€GØ/Ð0€NÚ;€Nó7r   r?   N)r-   Ústructr   r   r   Útwisted.protocols.statefulr   Útwisted.protocols.testr   Útwisted.trial.unittestr   r
   r1   ÚIntNTestCaseMixinr?   r/   r   r   ú<module>rQ      sL   ðñ
÷ *Ñ )å 7Ý -Ý +ô$HÐ,ô $HôNÐ%ô ô7�˜:×7Ñ7õ 7r   