Ë
    oj§  ã                   óB   — d Z ddlmZ ddlmZ ddlmZ  G d„ de«      Zy)z?
Tests for generic file descriptor based reactor support code.
é    )ÚAF_IPX)ÚisIPAddress)Ú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y)ÚAddressTestsz2
    Tests for address-related functionality.
    Nc                 ól   — | j                  t        d«      «       | j                  t        d«      «       y)zx
        L{isIPAddress} should return C{True} for any decimal dotted
        representation of an IPv4 address.
        z0.1.2.3ú252.253.254.255N)Ú
assertTruer   ©Úselfs    ú</usr/lib/python3/dist-packages/twisted/test/test_abstract.pyÚtest_decimalDottedzAddressTests.test_decimalDotted   s'   € ð
 	�‰œ IÓ.Ô/Ø�‰œÐ$5Ó6Õ7ó    c                 óÔ   — | j                  t        d«      «       | j                  t        d«      «       | j                  t        d«      «       | j                  t        d«      «       y)zˆ
        L{isIPAddress} should return C{False} for a dotted decimal
        representation with fewer or more than four octets.
        Ú0z0.1z0.1.2z	0.1.2.3.4N©ÚassertFalser   r   s    r   Útest_shortDecimalDottedz$AddressTests.test_shortDecimalDotted   sP   € ð
 	×Ñœ SÓ)Ô*Ø×Ñœ UÓ+Ô,Ø×Ñœ WÓ-Ô.Ø×Ñœ [Ó1Õ2r   c                 ól   — | j                  t        d«      «       | j                  t        d«      «       y)z|
        L{isIPAddress} should return C{False} for any non-decimal dotted
        representation including letters.
        za.2.3.4z1.b.3.4Nr   r   s    r   Útest_invalidLettersz AddressTests.test_invalidLetters&   s*   € ð
 	×Ñœ YÓ/Ô0Ø×Ñœ YÓ/Õ0r   c                 óÔ   — | j                  t        d«      «       | j                  t        d«      «       | j                  t        d«      «       | j                  t        d«      «       y)zl
        L{isIPAddress} should return C{False} for a string containing
        strange punctuation.
        ú,z1,2z1,2,3z1.,.3,4Nr   r   s    r   Útest_invalidPunctuationz$AddressTests.test_invalidPunctuation.   sP   € ð
 	×Ñœ SÓ)Ô*Ø×Ñœ UÓ+Ô,Ø×Ñœ WÓ-Ô.Ø×Ñœ YÓ/Õ0r   c                 ó8   — | j                  t        d«      «       y)zM
        L{isIPAddress} should return C{False} for the empty string.
        Ú Nr   r   s    r   Útest_emptyStringzAddressTests.test_emptyString8   s   € ð 	×Ñœ R›Õ)r   c                 óÔ   — | j                  t        d«      «       | j                  t        d«      «       | j                  t        d«      «       | j                  t        d«      «       y)zT
        L{isIPAddress} should return C{False} for negative decimal values.
        z-1z1.-2z1.2.-3z1.2.-3.4Nr   r   s    r   Útest_invalidNegativez!AddressTests.test_invalidNegative>   sP   € ð 	×Ñœ TÓ*Ô+Ø×Ñœ VÓ,Ô-Ø×Ñœ XÓ.Ô/Ø×Ñœ ZÓ0Õ1r   c                 ó  — | j                  t        d«      «       | j                  t        d«      «       | j                  t        d«      «       | j                  t        d«      «       | j                  t        d«      «       y)z�
        L{isIPAddress} should return C{False} for a string containing
        positive decimal values greater than 255.
        ú	256.0.0.0z	0.256.0.0z	0.0.256.0z	0.0.0.256z256.256.256.256Nr   r   s    r   Útest_invalidPositivez!AddressTests.test_invalidPositiveG   sd   € ð
 	×Ñœ [Ó1Ô2Ø×Ñœ [Ó1Ô2Ø×Ñœ [Ó1Ô2Ø×Ñœ [Ó1Ô2Ø×ÑœÐ%6Ó7Õ8r   c                 óÔ   — | j                  t        d«      «       | j                  t        d«      «       | j                  t        d«      «       | j                  t        d«      «       y)zO
        L{isIPAddress} evaluates ASCII-encoded bytes as well as text.
        s	   256.0.0.0r    s   252.253.254.255r	   N)r   r   r
   r   s    r   Útest_unicodeAndBytesz!AddressTests.test_unicodeAndBytesR   sN   € ð
 	×Ñœ \Ó2Ô3Ø×Ñœ [Ó1Ô2Ø�‰œÐ$6Ó7Ô8Ø�‰œÐ$5Ó6Õ7r   c                 óD   — | j                  t        t        dt        «       y)z|
        All address families other than C{AF_INET} and C{AF_INET6} result in a
        L{ValueError} being raised.
        s   anythingN)ÚassertRaisesÚ
ValueErrorr   r   r   s    r   Útest_nonIPAddressFamilyz$AddressTests.test_nonIPAddressFamily\   s   € ð
 	×Ñœ*¤k°;ÄÕGr   c                 ól   — | j                  t        d«      «       | j                  t        d«      «       y)zt
        All IP addresses must be encodable as ASCII; non-ASCII should result in
        a L{False} result.
        s
   ÿ.notasciiu   äŒ¡.notasciiNr   r   s    r   Útest_nonASCIIzAddressTests.test_nonASCIIc   s,   € ð 	×ÑœÐ%5Ó6Ô7Ø×ÑœÐ%6Ó7Õ8r   )ÚreturnN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r!   r#   r'   r)   © r   r   r   r      s:   „ ñó8ó3ó1ó1ó*ó2ó	9ó8óHô9r   r   N)r.   Úsocketr   Útwisted.internet.abstractr   Útwisted.trial.unittestr   r   r/   r   r   ú<module>r3      s#   ðñõ
 å 1Ý +ô[9�8õ [9r   