ó
    ×›‘h§  ã                   óB   • S r SSKJr  SSKJr  SSKJr   " S S\5      rg)z?
Tests for generic file descriptor based reactor support code.
é    )ÚAF_IPX)ÚisIPAddress)ÚTestCasec                   ó|   • \ rS rSrSrSS jrSS jrSS jrSS jrSS jr	SS	 jr
SS
 jrSS jrSS jrSS jrSrg)ÚAddressTestsé   z*
Tests for address-related functionality.
Nc                 ól   • U R                  [        S5      5        U R                  [        S5      5        g)z`
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    Ú^C:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/test/test_abstract.pyÚtest_decimalDottedÚAddressTests.test_decimalDotted   s'   € ð
 	�‰œ IÓ.Ô/Ø�‰œÐ$5Ó6Õ7ó    c                 óÔ   • U R                  [        S5      5        U R                  [        S5      5        U R                  [        S5      5        U R                  [        S5      5        g)zp
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_shortDecimalDottedÚ$AddressTests.test_shortDecimalDotted   sP   € ð
 	×Ñœ SÓ)Ô*Ø×Ñœ UÓ+Ô,Ø×Ñœ WÓ-Ô.Ø×Ñœ [Ó1Õ2r   c                 ól   • U R                  [        S5      5        U R                  [        S5      5        g)zd
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_invalidLettersÚ AddressTests.test_invalidLetters&   s*   € ð
 	×Ñœ YÓ/Ô0Ø×Ñœ YÓ/Õ0r   c                 óÔ   • U R                  [        S5      5        U R                  [        S5      5        U R                  [        S5      5        U R                  [        S5      5        g)zT
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_invalidPunctuationÚ$AddressTests.test_invalidPunctuation.   sP   € ð
 	×Ñœ SÓ)Ô*Ø×Ñœ UÓ+Ô,Ø×Ñœ WÓ-Ô.Ø×Ñœ YÓ/Õ0r   c                 ó8   • U R                  [        S5      5        g)z=
L{isIPAddress} should return C{False} for the empty string.
Ú Nr   r   s    r   Útest_emptyStringÚAddressTests.test_emptyString8   s   € ð 	×Ñœ R›Õ)r   c                 óÔ   • U R                  [        S5      5        U R                  [        S5      5        U R                  [        S5      5        U R                  [        S5      5        g)zD
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_invalidNegativeÚ!AddressTests.test_invalidNegative>   sP   € ð 	×Ñœ TÓ*Ô+Ø×Ñœ VÓ,Ô-Ø×Ñœ XÓ.Ô/Ø×Ñœ ZÓ0Õ1r   c                 ó  • U R                  [        S5      5        U R                  [        S5      5        U R                  [        S5      5        U R                  [        S5      5        U R                  [        S5      5        g)zi
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_invalidPositiveÚ!AddressTests.test_invalidPositiveG   sd   € ð
 	×Ñœ [Ó1Ô2Ø×Ñœ [Ó1Ô2Ø×Ñœ [Ó1Ô2Ø×Ñœ [Ó1Ô2Ø×ÑœÐ%6Ó7Õ8r   c                 óÔ   • U R                  [        S5      5        U R                  [        S5      5        U R                  [        S5      5        U R                  [        S5      5        g)z?
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_unicodeAndBytesÚ!AddressTests.test_unicodeAndBytesR   sN   € ð
 	×Ñœ \Ó2Ô3Ø×Ñœ [Ó1Ô2Ø�‰œÐ$6Ó7Ô8Ø�‰œÐ$5Ó6Õ7r   c                 óD   • U R                  [        [        S[        5        g)zd
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_nonIPAddressFamilyÚ$AddressTests.test_nonIPAddressFamily\   s   € ð
 	×Ñœ*¤k°;ÄÕGr   c                 ól   • U R                  [        S5      5        U R                  [        S5      5        g)z\
All IP addresses must be encodable as ASCII; non-ASCII should result in
a L{False} result.
s
   ÿ.notasciiu   äŒ¡.notasciiNr   r   s    r   Útest_nonASCIIÚAddressTests.test_nonASCIIc   s,   € ð 	×ÑœÐ%5Ó6Ô7Ø×ÑœÐ%6Ó7Õ8r   © )ÚreturnN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r   r!   r$   r(   r+   r0   r3   Ú__static_attributes__r5   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   r5   r   r   Ú<module>r@      s#   ðñõ
 å 1Ý +ô[9�8õ [9r   