§
    ÈtºfþA  ã                  óX  — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZmZmZmZmZmZmZmZmZ ddlmZmZ dd	lmZmZmZ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¦  «        Z# G d„ de ¦  «        Z$ G d„ de¦  «        Z% G d„ de ¦  «        Z&dS )z(
Tests for L{twisted.internet.testing}.
é    )Úannotations)ÚCallable)ÚverifyObject)ÚProtocol)ÚIPv4Address)	ÚIAddressÚ
IConnectorÚ	IConsumerÚIListeningPortÚIPushProducerÚIReactorSSLÚIReactorTCPÚIReactorUNIXÚ
ITransport)ÚClientFactoryÚFactory)ÚMemoryReactorÚNonStreamingProducerÚRaisingMemoryReactorÚStringTransport)ÚnamedAny)ÚTestCasec                  óª   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Zdd	„Z	dd
„Z
dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdS )ÚStringTransportTestsz@
    Tests for L{twisted.internet.testing.StringTransport}.
    ÚreturnÚNonec                ó,   — t          ¦   «         | _        d S ©N)r   Ú	transport©Úselfs    úa/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/internet/test/test_testing.pyÚsetUpzStringTransportTests.setUp+   s   € Ý(Ñ*Ô*ˆŒˆˆó    c                ó  — |                       t          t          | j        ¦  «        ¦  «         |                       t          t          | j        ¦  «        ¦  «         |                       t          t
          | j        ¦  «        ¦  «         dS )zq
        L{StringTransport} instances provide L{ITransport}, L{IPushProducer},
        and L{IConsumer}.
        N)Ú
assertTruer   r   r   r   r
   r    s    r"   Útest_interfacesz$StringTransportTests.test_interfaces.   sd   € ð
 	�Š�¥Z°´Ñ@Ô@ÑAÔAÐAØ�Š�¥]°D´NÑCÔCÑDÔDÐDØ�Š�¥Y°´Ñ?Ô?Ñ@Ô@Ð@Ð@Ð@r$   c                óô   — t          ¦   «         }t          ¦   «         }| j                             ||¦  «         |                      | j        j        |¦  «         |                      | j        j        |¦  «         dS )zz
        L{StringTransport.registerProducer} records the arguments supplied to
        it as instance attributes.
        N)Úobjectr   ÚregisterProducerÚassertIsÚproducerÚ	streaming©r!   r,   r-   s      r"   Útest_registerProducerz*StringTransportTests.test_registerProducer7   sf   € õ
 ‘8”8ˆÝ‘H”Hˆ	ØŒ×'Ò'¨°)Ñ<Ô<Ð<Ø�Š�d”nÔ-¨xÑ8Ô8Ð8Ø�Š�d”nÔ.°	Ñ:Ô:Ð:Ð:Ð:r$   c                ó<  — t          ¦   «         }| j                             |d¦  «         |                      t          | j        j        t          ¦   «         d¦  «         |                      | j        j        |¦  «         |                      | j        j        ¦  «         dS )zy
        L{StringTransport.registerProducer} raises L{RuntimeError} if a
        producer is already registered.
        TFN)	r)   r   r*   ÚassertRaisesÚRuntimeErrorr+   r,   r&   r-   )r!   r,   s     r"   Útest_disallowedRegisterProducerz4StringTransportTests.test_disallowedRegisterProducerB   s‡   € õ
 ‘8”8ˆØŒ×'Ò'¨°$Ñ7Ô7Ð7Ø×ÒÝ˜$œ.Ô9½6¹8¼8ÀUñ	
ô 	
ð 	
ð 	�Š�d”nÔ-¨xÑ8Ô8Ð8Ø�Š˜œÔ0Ñ1Ô1Ð1Ð1Ð1r$   c                ó˜  — t          ¦   «         }t          ¦   «         }| j                             |d¦  «         | j                             ¦   «          |                      | j        j        ¦  «         | j                             |d¦  «         |                      | j        j        |¦  «         |                      | j        j        ¦  «         dS )z±
        L{StringTransport.unregisterProducer} causes the transport to forget
        about the registered producer and makes it possible to register a new
        one.
        FTN)	r)   r   r*   ÚunregisterProducerÚassertIsNoner,   r+   r&   r-   )r!   ÚoldProducerÚnewProducers      r"   Útest_unregisterProducerz,StringTransportTests.test_unregisterProducerO   s©   € õ ‘h”hˆÝ‘h”hˆØŒ×'Ò'¨°UÑ;Ô;Ð;ØŒ×)Ò)Ñ+Ô+Ð+Ø×Ò˜$œ.Ô1Ñ2Ô2Ð2ØŒ×'Ò'¨°TÑ:Ô:Ð:Ø�Š�d”nÔ-¨{Ñ;Ô;Ð;Ø�Š˜œÔ0Ñ1Ô1Ð1Ð1Ð1r$   c                óP   — |                       t          | j        j        ¦  «         dS )z€
        L{StringTransport.unregisterProducer} raises L{RuntimeError} if called
        when no producer is registered.
        N)r1   r2   r   r5   r    s    r"   Útest_invalidUnregisterProducerz3StringTransportTests.test_invalidUnregisterProducer^   s%   € ð
 	×Ò�,¨¬Ô(IÑJÔJÐJÐJÐJr$   c                óF   — |                       | j        j        d¦  «         dS )zO
        L{StringTransport.producerState} is initially C{'producing'}.
        Ú	producingN)ÚassertEqualr   ÚproducerStater    s    r"   Útest_initialProducerStatez.StringTransportTests.test_initialProducerStatee   s%   € ð 	×Ò˜œÔ5°{ÑCÔCÐCÐCÐCr$   c                óx   — | j                              ¦   «          |                      | j         j        d¦  «         dS )zy
        L{StringTransport.pauseProducing} changes the C{producerState} of the
        transport to C{'paused'}.
        ÚpausedN)r   ÚpauseProducingr>   r?   r    s    r"   Útest_pauseProducingz(StringTransportTests.test_pauseProducingk   s9   € ð
 	Œ×%Ò%Ñ'Ô'Ð'Ø×Ò˜œÔ5°xÑ@Ô@Ð@Ð@Ð@r$   c                óª   — | j                              ¦   «          | j                              ¦   «          |                      | j         j        d¦  «         dS )z}
        L{StringTransport.resumeProducing} changes the C{producerState} of the
        transport to C{'producing'}.
        r=   N)r   rC   ÚresumeProducingr>   r?   r    s    r"   Útest_resumeProducingz)StringTransportTests.test_resumeProducings   sM   € ð
 	Œ×%Ò%Ñ'Ô'Ð'ØŒ×&Ò&Ñ(Ô(Ð(Ø×Ò˜œÔ5°{ÑCÔCÐCÐCÐCr$   c                óx   — | j                              ¦   «          |                      | j         j        d¦  «         dS )z{
        L{StringTransport.stopProducing} changes the C{'producerState'} of the
        transport to C{'stopped'}.
        ÚstoppedN)r   ÚstopProducingr>   r?   r    s    r"   Útest_stopProducingz'StringTransportTests.test_stopProducing|   s9   € ð
 	Œ×$Ò$Ñ&Ô&Ð&Ø×Ò˜œÔ5°yÑAÔAÐAÐAÐAr$   c                ó‚   — | j                              ¦   «          |                      t          | j         j        ¦  «         dS )zu
        L{StringTransport.pauseProducing} raises L{RuntimeError} if the
        transport has been stopped.
        N)r   rJ   r1   r2   rC   r    s    r"   Ú test_stoppedTransportCannotPausez5StringTransportTests.test_stoppedTransportCannotPause„   s9   € ð
 	Œ×$Ò$Ñ&Ô&Ð&Ø×Ò�,¨¬Ô(EÑFÔFÐFÐFÐFr$   c                ó‚   — | j                              ¦   «          |                      t          | j         j        ¦  «         dS )zv
        L{StringTransport.resumeProducing} raises L{RuntimeError} if the
        transport has been stopped.
        N)r   rJ   r1   r2   rF   r    s    r"   Ú!test_stoppedTransportCannotResumez6StringTransportTests.test_stoppedTransportCannotResumeŒ   s9   € ð
 	Œ×$Ò$Ñ&Ô&Ð&Ø×Ò�,¨¬Ô(FÑGÔGÐGÐGÐGr$   c                ó‚   — | j                              ¦   «          |                      t          | j         j        ¦  «         dS )zz
        L{StringTransport.pauseProducing} raises L{RuntimeError} if the
        transport is being disconnected.
        N)r   ÚloseConnectionr1   r2   rC   r    s    r"   Ú&test_disconnectingTransportCannotPausez;StringTransportTests.test_disconnectingTransportCannotPause”   s9   € ð
 	Œ×%Ò%Ñ'Ô'Ð'Ø×Ò�,¨¬Ô(EÑFÔFÐFÐFÐFr$   c                ó‚   — | j                              ¦   «          |                      t          | j         j        ¦  «         dS )z{
        L{StringTransport.resumeProducing} raises L{RuntimeError} if the
        transport is being disconnected.
        N)r   rQ   r1   r2   rF   r    s    r"   Ú'test_disconnectingTransportCannotResumez<StringTransportTests.test_disconnectingTransportCannotResumeœ   s9   € ð
 	Œ×%Ò%Ñ'Ô'Ð'Ø×Ò�,¨¬Ô(FÑGÔGÐGÐGÐGr$   c                ó´   — |                       | j        j        ¦  «         | j                             ¦   «          |                      | j        j        ¦  «         dS )zv
        L{StringTransport.loseConnection} toggles the C{disconnecting} instance
        variable to C{True}.
        N)ÚassertFalser   ÚdisconnectingrQ   r&   r    s    r"   Ú$test_loseConnectionSetsDisconnectingz9StringTransportTests.test_loseConnectionSetsDisconnecting¤   sN   € ð
 	×Ò˜œÔ5Ñ6Ô6Ð6ØŒ×%Ò%Ñ'Ô'Ð'Ø�Š˜œÔ4Ñ5Ô5Ð5Ð5Ð5r$   c                óŒ   — t          ¦   «         }|                      t          |¦  «                             ¦   «         |¦  «         dS )z�
        If a host address is passed to L{StringTransport.__init__}, that
        value is returned from L{StringTransport.getHost}.
        N)r)   r+   r   ÚgetHost©r!   Úaddresss     r"   Útest_specifiedHostAddressz.StringTransportTests.test_specifiedHostAddress­   s;   € õ
 ‘(”(ˆØ�Š•o gÑ.Ô.×6Ò6Ñ8Ô8¸'ÑBÔBÐBÐBÐBr$   c                óŽ   — t          ¦   «         }|                      t          |¬¦  «                             ¦   «         |¦  «         dS )z�
        If a peer address is passed to L{StringTransport.__init__}, that
        value is returned from L{StringTransport.getPeer}.
        )ÚpeerAddressN)r)   r+   r   ÚgetPeerr[   s     r"   Útest_specifiedPeerAddressz.StringTransportTests.test_specifiedPeerAddressµ   s>   € õ
 ‘(”(ˆØ�Š•o°'Ð:Ñ:Ô:×BÒBÑDÔDÀgÑNÔNÐNÐNÐNr$   c                ó|   — t          ¦   «                              ¦   «         }|                      |t          ¦  «         dS )z•
        If no host address is passed to L{StringTransport.__init__}, an
        L{IPv4Address} is returned from L{StringTransport.getHost}.
        N)r   rZ   ÚassertIsInstancer   r[   s     r"   Útest_defaultHostAddressz,StringTransportTests.test_defaultHostAddress½   ó7   € õ
 "Ñ#Ô#×+Ò+Ñ-Ô-ˆØ×Ò˜g¥{Ñ3Ô3Ð3Ð3Ð3r$   c                ó|   — t          ¦   «                              ¦   «         }|                      |t          ¦  «         dS )z•
        If no peer address is passed to L{StringTransport.__init__}, an
        L{IPv4Address} is returned from L{StringTransport.getPeer}.
        N)r   r`   rc   r   r[   s     r"   Útest_defaultPeerAddressz,StringTransportTests.test_defaultPeerAddressÅ   re   r$   N©r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r#   r'   r/   r3   r9   r;   r@   rD   rG   rK   rM   rO   rR   rT   rX   r]   ra   rd   rg   © r$   r"   r   r   &   sÊ  € € € € € ðð ð+ð +ð +ð +ðAð Að Að Að	;ð 	;ð 	;ð 	;ð2ð 2ð 2ð 2ð2ð 2ð 2ð 2ðKð Kð Kð KðDð Dð Dð DðAð Að Að AðDð Dð Dð DðBð Bð Bð BðGð Gð Gð GðHð Hð Hð HðGð Gð Gð GðHð Hð Hð Hð6ð 6ð 6ð 6ðCð Cð Cð CðOð Oð Oð Oð4ð 4ð 4ð 4ð4ð 4ð 4ð 4ð 4ð 4r$   r   c                  óB   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Zdd	„Z	d
S )ÚReactorTestszA
    Tests for L{MemoryReactor} and L{RaisingMemoryReactor}.
    r   r   c                ó    — t          ¦   «         }t          t          |¦  «         t          t          |¦  «         t          t          |¦  «         dS )zt
        L{MemoryReactor} provides all of the attributes described by the
        interfaces it advertises.
        N)r   r   r   r   r   )r!   ÚmemoryReactors     r"   Útest_memoryReactorProvidesz'ReactorTests.test_memoryReactorProvidesÓ   sC   € õ
 &™œˆÝ•[ -Ñ0Ô0Ð0Ý•[ -Ñ0Ô0Ð0Ý•\ =Ñ1Ô1Ð1Ð1Ð1r$   c                ó    — t          ¦   «         }t          t          |¦  «         t          t          |¦  «         t          t          |¦  «         dS )z{
        L{RaisingMemoryReactor} provides all of the attributes described by the
        interfaces it advertises.
        N)r   r   r   r   r   )r!   ÚraisingReactors     r"   Útest_raisingReactorProvidesz(ReactorTests.test_raisingReactorProvidesÝ   sE   € õ
 .Ñ/Ô/ˆÝ•[ .Ñ1Ô1Ð1Ý•[ .Ñ1Ô1Ð1Ý•\ >Ñ2Ô2Ð2Ð2Ð2r$   c                ó”  — t          ¦   «         }|                     ddt          ¦   «         ¦  «        |                     ddt          ¦   «         d¦  «        fD ]v}t	          t
          |¦  «         |                     ¦   «         }t	          t          |¦  «         |                      |j	        d¦  «         |                      |j
        d¦  «         Œw|                     dt          ¦   «         ¦  «        }t	          t
          |¦  «         |                     ¦   «         }t	          t          |¦  «         |                      |j        d¦  «         dS )a  
        L{MemoryReactor.connectTCP}, L{MemoryReactor.connectSSL}, and
        L{MemoryReactor.connectUNIX} will return an L{IConnector} whose
        C{getDestination} method returns an L{IAddress} with attributes which
        reflect the values passed.
        ztest.example.comi�   Ns
   /fake/path)r   Ú
connectTCPr   Ú
connectSSLr   r	   ÚgetDestinationr   r>   ÚhostÚportÚconnectUNIXÚname)r!   rq   Ú	connectorr\   s       r"   Útest_connectDestinationz$ReactorTests.test_connectDestinationç   s$  € õ &™œˆà×$Ò$Ð%7¸½}¹¼ÑOÔOØ×$Ò$Ð%7¸½}¹¼ÐPTÑUÔUð
ð 	1ð 	1ˆIõ � YÑ/Ô/Ð/Ø×.Ò.Ñ0Ô0ˆGÝ� 7Ñ+Ô+Ð+Ø×Ò˜Wœ\Ð+=Ñ>Ô>Ð>Ø×Ò˜Wœ\¨4Ñ0Ô0Ð0Ð0Ø!×-Ò-¨m½]¹_¼_ÑMÔMˆ	Ý•Z Ñ+Ô+Ð+Ø×*Ò*Ñ,Ô,ˆÝ•X˜wÑ'Ô'Ð'Ø×Ò˜œ }Ñ5Ô5Ð5Ð5Ð5r$   c                ó�  — t          ¦   «         }|                     dt          ¦   «         ¦  «        |                     dt          ¦   «         d¦  «        fD ]v}t	          t
          |¦  «         |                     ¦   «         }t	          t          |¦  «         |                      |j	        d¦  «         |                      |j
        d¦  «         Œw|                     dt          ¦   «         ¦  «        }t	          t
          |¦  «         |                     ¦   «         }t	          t          |¦  «         |                      |j        d¦  «         dS )a–  
        L{MemoryReactor.listenTCP}, L{MemoryReactor.listenSSL} and
        L{MemoryReactor.listenUNIX} will return an L{IListeningPort} whose
        C{getHost} method returns an L{IAddress}; C{listenTCP} and C{listenSSL}
        will have a default host of C{'0.0.0.0'}, and a port that reflects the
        value passed, and C{listenUNIX} will have a name that reflects the path
        passed.
        i2   Nz0.0.0.0s   /path/to/socket)r   Ú	listenTCPr   Ú	listenSSLr   r   rZ   r   r>   rz   r{   Ú
listenUNIXr}   )r!   rq   r{   r\   s       r"   Útest_listenDefaultHostz#ReactorTests.test_listenDefaultHostþ   s  € õ &™œˆà×#Ò# D­'©)¬)Ñ4Ô4Ø×#Ò# D­'©)¬)°TÑ:Ô:ð
ð 	1ð 	1ˆDõ �¨Ñ.Ô.Ð.Ø—l’l‘n”nˆGÝ� 7Ñ+Ô+Ð+Ø×Ò˜Wœ\¨9Ñ5Ô5Ð5Ø×Ò˜Wœ\¨4Ñ0Ô0Ð0Ð0Ø×'Ò'Ð(:½G¹I¼IÑFÔFˆÝ•^ TÑ*Ô*Ð*Ø—,’,‘.”.ˆÝ•X˜wÑ'Ô'Ð'Ø×Ò˜œÐ'9Ñ:Ô:Ð:Ð:Ð:r$   c                ó^  — t          ¦   «         }t          ¦   «         }|                     |¦  «         |                     |¦  «         |                      |                     ¦   «         |g¦  «         |                     |¦  «         |                      |                     ¦   «         g ¦  «         dS )z>
        Adding, removing, and listing readers works.
        N)r)   r   Ú	addReaderr>   Ú
getReadersÚremoveReader)r!   ÚreaderÚreactors      r"   Útest_readerszReactorTests.test_readers  óž   € õ ‘”ˆÝ‘/”/ˆà×Ò˜&Ñ!Ô!Ð!Ø×Ò˜&Ñ!Ô!Ð!à×Ò˜×+Ò+Ñ-Ô-°¨xÑ8Ô8Ð8à×Ò˜VÑ$Ô$Ð$à×Ò˜×+Ò+Ñ-Ô-¨rÑ2Ô2Ð2Ð2Ð2r$   c                ó^  — t          ¦   «         }t          ¦   «         }|                     |¦  «         |                     |¦  «         |                      |                     ¦   «         |g¦  «         |                     |¦  «         |                      |                     ¦   «         g ¦  «         dS )z>
        Adding, removing, and listing writers works.
        N)r)   r   Ú	addWriterr>   Ú
getWritersÚremoveWriter)r!   ÚwriterrŠ   s      r"   Útest_writerszReactorTests.test_writers'  rŒ   r$   Nrh   )
ri   rj   rk   rl   rr   ru   r   r„   r‹   r’   rm   r$   r"   ro   ro   Î   s–   € € € € € ðð ð2ð 2ð 2ð 2ð3ð 3ð 3ð 3ð6ð 6ð 6ð 6ð.;ð ;ð ;ð ;ð23ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3r$   ro   c                  ó2   — e Zd ZdZdd„Zdd	„Zdd
„Zdd„ZdS )ÚTestConsumerzP
    A very basic test consumer for use with the NonStreamingProducerTests.
    r   r   c                ó0   — g | _         d | _        d | _        d S r   )Úwritesr,   ÚproducerStreamingr    s    r"   Ú__init__zTestConsumer.__init__=  s   € Ø#%ˆŒØ $ˆŒØ.2ˆÔÐÐr$   r,   r)   r-   Úboolc                ó"   — || _         || _        dS )z×
        Registers a single producer with this consumer. Just keeps track of it.

        @param producer: The producer to register.
        @param streaming: Whether the producer is a streaming one or not.
        N©r,   r—   r.   s      r"   r*   zTestConsumer.registerProducerB  s   € ð !ˆŒØ!*ˆÔÐÐr$   c                ó"   — d| _         d| _        dS )zC
        Forget the producer we had previously registered.
        Nr›   r    s    r"   r5   zTestConsumer.unregisterProducerL  s   € ð ˆŒØ!%ˆÔÐÐr$   ÚdataÚbytesc                ó:   — | j                              |¦  «         dS )zz
        Some data was written to the consumer: stores it for later use.

        @param data: The data to write.
        N)r–   Úappend)r!   r�   s     r"   ÚwritezTestConsumer.writeS  s    € ð 	Œ×Ò˜4Ñ Ô Ð Ð Ð r$   Nrh   )r,   r)   r-   r™   r   r   )r�   rž   r   r   )ri   rj   rk   rl   r˜   r*   r5   r¡   rm   r$   r"   r”   r”   8  sn   € € € € € ðð ð3ð 3ð 3ð 3ð
+ð +ð +ð +ð&ð &ð &ð &ð!ð !ð !ð !ð !ð !r$   r”   c                  ó"   — e Zd ZdZdd„Zdd„ZdS )ÚNonStreamingProducerTestszF
    Tests for the L{NonStreamingProducer} to validate behaviour.
    r   r   c                ór  — t          ¦   «         }t          |¦  «        }|                     |d¦  «         |                      |j        |¦  «         |                      |j        |¦  «         |                      |j        ¦  «         t          d¦  «        D ]}| 	                    ¦   «          Œg d¢}|  
                    |j        ¦  «         |  
                    |j        ¦  «         |  
                    |j        ¦  «         |                      |j        |¦  «         |                      t          |j	        ¦  «         dS )z�
        When the L{NonStreamingProducer} has resumeProducing called 10 times,
        it writes the counter each time and then fails.
        Fé
   )
ó   0ó   1ó   2ó   3ó   4ó   5ó   6ó   7ó   8ó   9N)r”   r   r*   r+   r,   ÚconsumerrV   r—   ÚrangerF   r6   r>   r–   r1   r2   )r!   r°   r,   Ú_ÚexpectedWritess        r"   Útest_producesOnly10Timesz2NonStreamingProducerTests.test_producesOnly10Timesa  s+  € õ
  ‘>”>ˆÝ'¨Ñ1Ô1ˆØ×!Ò! (¨EÑ2Ô2Ð2à�Š�hÔ'¨Ñ2Ô2Ð2Ø�Š�hÔ'¨Ñ2Ô2Ð2Ø×Ò˜Ô3Ñ4Ô4Ð4å�r‘”ð 	'ð 	'ˆAØ×$Ò$Ñ&Ô&Ð&Ð&ð VÐUÐUˆØ×Ò˜(Ô+Ñ,Ô,Ð,Ø×Ò˜(Ô4Ñ5Ô5Ð5Ø×Ò˜(Ô+Ñ,Ô,Ð,Ø×Ò˜œ¨.Ñ9Ô9Ð9ð 	×Ò�,¨Ô(@ÑAÔAÐAÐAÐAr$   c                óÔ   — t          ¦   «         }t          |¦  «        }|                     |d¦  «         |                     ¦   «          |                      t
          |j        ¦  «         dS )zb
        When the L{NonStreamingProducer} is paused, it raises a
        L{RuntimeError}.
        FN)r”   r   r*   rF   r1   r2   rC   )r!   r°   r,   s      r"   Útest_cannotPauseProductionz4NonStreamingProducerTests.test_cannotPauseProduction{  sc   € õ
  ‘>”>ˆÝ'¨Ñ1Ô1ˆØ×!Ò! (¨EÑ2Ô2Ð2ð 	× Ò Ñ"Ô"Ð"à×Ò�,¨Ô(?Ñ@Ô@Ð@Ð@Ð@r$   Nrh   )ri   rj   rk   rl   r´   r¶   rm   r$   r"   r£   r£   \  sP   € € € € € ðð ðBð Bð Bð Bð4Að Að Að Að Að Ar$   r£   c                  ó&   — e Zd Zedd„¦   «         Z dS )Ú_SupportsNamer   Ústrc                ó   — d S r   rm   r    s    r"   ri   z_SupportsName.__name__‹  s   € àˆr$   N)r   r¹   )ri   rj   rk   Úpropertyrm   r$   r"   r¸   r¸   Š  s2   € € € € € Øðð ð ñ „Xðð ð r$   r¸   c                  óŠ   — e Zd ZdZdd„Zdd	„Zdd
„Zdd„Zdd„Zdd„Z	dd„Z
dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdS )ÚDeprecationTestsz8
    Deprecations in L{twisted.test.proto_helpers}.
    ÚtestúCallable[..., object]Úobjr¸   r   r   c                ód  — d|j         › �}|                      |g¦  «        }|                      t          |d         d         ¦  «         |                      dt	          |¦  «        ¦  «         |                      ||d         d         ¦  «         |                      |t          |¦  «        ¦  «         d S )Nztwisted.internet.testing.r   Úcategoryé   Úmessage)ri   ÚflushWarningsr>   ÚDeprecationWarningÚlenÚassertInr+   r   )r!   r¾   rÀ   Únew_pathÚwarningss        r"   ÚhelperzDeprecationTests.helper•  s¡   € Ø=¨s¬|Ð=Ð=ˆØ×%Ò% t fÑ-Ô-ˆØ×ÒÕ+¨X°a¬[¸Ô-DÑEÔEÐEØ×Ò˜�C ™MœMÑ*Ô*Ð*Ø�Š�h ¨¤¨IÔ 6Ñ7Ô7Ð7Ø�Š�c�8 HÑ-Ô-Ñ.Ô.Ð.Ð.Ð.r$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )ÚAccumulatingProtocol)Útwisted.test.proto_helpersrÍ   rË   Útest_accumulatingProtocol)r!   rÍ   s     r"   rÏ   z*DeprecationTests.test_accumulatingProtocol�  ó2   € ØCÐCÐCÐCÐCÐCà�Š�DÔ2Ð4HÑIÔIÐIÐIÐIr$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )ÚLineSendingProtocol)rÎ   rÒ   rË   Útest_lineSendingProtocol)r!   rÒ   s     r"   rÓ   z)DeprecationTests.test_lineSendingProtocol¢  s2   € ØBÐBÐBÐBÐBÐBà�Š�DÔ1Ð3FÑGÔGÐGÐGÐGr$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )ÚFakeDatagramTransport)rÎ   rÕ   rË   Útest_fakeDatagramTransport)r!   rÕ   s     r"   rÖ   z+DeprecationTests.test_fakeDatagramTransport§  s2   € ØDÐDÐDÐDÐDÐDà�Š�DÔ3Ð5JÑKÔKÐKÐKÐKr$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )r   )rÎ   r   rË   Útest_stringTransport)r!   r   s     r"   rØ   z%DeprecationTests.test_stringTransport¬  s1   € Ø>Ð>Ð>Ð>Ð>Ð>à�Š�DÔ-¨Ñ?Ô?Ð?Ð?Ð?r$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )Ú StringTransportWithDisconnection)rÎ   rÚ   rË   Ú%test_stringTransportWithDisconnection)r!   rÚ   s     r"   rÛ   z6DeprecationTests.test_stringTransportWithDisconnection±  s=   € ØOÐOÐOÐOÐOÐOà�ŠØÔ6Ð8Xñ	
ô 	
ð 	
ð 	
ð 	
r$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )ÚStringIOWithoutClosing)rÎ   rÝ   rË   Útest_stringIOWithoutClosing)r!   rÝ   s     r"   rÞ   z,DeprecationTests.test_stringIOWithoutClosing¸  s2   € ØEÐEÐEÐEÐEÐEà�Š�DÔ4Ð6LÑMÔMÐMÐMÐMr$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )Ú_FakeConnector)rÎ   rà   rË   Útest__fakeConnector)r!   rà   s     r"   rá   z$DeprecationTests.test__fakeConnector½  s1   € Ø=Ð=Ð=Ð=Ð=Ð=à�Š�DÔ,¨nÑ=Ô=Ð=Ð=Ð=r$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )Ú	_FakePort)rÎ   rã   rË   Útest__fakePort)r!   rã   s     r"   rä   zDeprecationTests.test__fakePortÂ  s1   € Ø8Ð8Ð8Ð8Ð8Ð8à�Š�DÔ'¨Ñ3Ô3Ð3Ð3Ð3r$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )r   )rÎ   r   rË   Útest_memoryReactor)r!   r   s     r"   ræ   z#DeprecationTests.test_memoryReactorÇ  s1   € Ø<Ð<Ð<Ð<Ð<Ð<à�Š�DÔ+¨]Ñ;Ô;Ð;Ð;Ð;r$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )ÚMemoryReactorClock)rÎ   rè   rË   Útest_memoryReactorClock)r!   rè   s     r"   ré   z(DeprecationTests.test_memoryReactorClockÌ  s2   € ØAÐAÐAÐAÐAÐAà�Š�DÔ0Ð2DÑEÔEÐEÐEÐEr$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )r   )rÎ   r   rË   Útest_raisingMemoryReactor)r!   r   s     r"   rë   z*DeprecationTests.test_raisingMemoryReactorÑ  rÐ   r$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )r   )rÎ   r   rË   Útest_nonStreamingProducer)r!   r   s     r"   rí   z*DeprecationTests.test_nonStreamingProducerÖ  rÐ   r$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )ÚwaitUntilAllDisconnected)rÎ   rï   rË   Útest_waitUntilAllDisconnected)r!   rï   s     r"   rð   z.DeprecationTests.test_waitUntilAllDisconnectedÛ  s2   € ØGÐGÐGÐGÐGÐGà�Š�DÔ6Ð8PÑQÔQÐQÐQÐQr$   c                óH   — ddl m} |                      | j        |¦  «         d S )Nr   )ÚEventLoggingObserver)rÎ   rò   rË   Útest_eventLoggingObserver)r!   rò   s     r"   ró   z*DeprecationTests.test_eventLoggingObserverà  rÐ   r$   N)r¾   r¿   rÀ   r¸   r   r   rh   )ri   rj   rk   rl   rË   rÏ   rÓ   rÖ   rØ   rÛ   rÞ   rá   rä   ræ   ré   rë   rí   rð   ró   rm   r$   r"   r½   r½   �  st  € € € € € ðð ð/ð /ð /ð /ðJð Jð Jð Jð
Hð Hð Hð Hð
Lð Lð Lð Lð
@ð @ð @ð @ð

ð 
ð 
ð 
ðNð Nð Nð Nð
>ð >ð >ð >ð
4ð 4ð 4ð 4ð
<ð <ð <ð <ð
Fð Fð Fð Fð
Jð Jð Jð Jð
Jð Jð Jð Jð
Rð Rð Rð Rð
Jð Jð Jð Jð Jð Jr$   r½   N)'rl   Ú
__future__r   Útypingr   Úzope.interface.verifyr   Útyping_extensionsr   Útwisted.internet.addressr   Útwisted.internet.interfacesr   r	   r
   r   r   r   r   r   r   Útwisted.internet.protocolr   r   Útwisted.internet.testingr   r   r   r   Útwisted.python.reflectr   Útwisted.trial.unittestr   r   ro   r”   r£   r¸   r½   rm   r$   r"   ú<module>rþ      s‰  ððð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à .Ð .Ð .Ð .Ð .Ð .à &Ð &Ð &Ð &Ð &Ð &à 0Ð 0Ð 0Ð 0Ð 0Ð 0ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð =Ð <Ð <Ð <Ð <Ð <Ð <Ð <ðð ð ð ð ð ð ð ð ð ð ð ð ,Ð +Ð +Ð +Ð +Ð +Ø +Ð +Ð +Ð +Ð +Ð +ðe4ð e4ð e4ð e4ð e4˜8ñ e4ô e4ð e4ðPg3ð g3ð g3ð g3ð g3�8ñ g3ô g3ð g3ðT!!ð !!ð !!ð !!ð !!ñ !!ô !!ð !!ðH+Að +Að +Að +Að +A ñ +Aô +Að +Að\ð ð ð ð �Hñ ô ð ðSJð SJð SJð SJð SJ�xñ SJô SJð SJð SJð SJr$   