§
    Ètºf§  ã                   óJ   — d Z ddlmZ ddlmZ ddlmZ  G d„ de¦  «        ZdS )z?
Tests for generic file descriptor based reactor support code.
é    )ÚAF_IPX)ÚisIPAddress)ÚTestCasec                   ó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d
„Z
dd„Zdd„Zdd„ZdS )ÚAddressTestsz2
    Tests for address-related functionality.
    ÚreturnNc                 óŽ   — |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         dS )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    úY/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/test/test_abstract.pyÚtest_decimalDottedzAddressTests.test_decimalDotted   s?   € ð
 	�Š� IÑ.Ô.Ñ/Ô/Ð/Ø�Š�Ð$5Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7ó    c                 ó  — |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         dS )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   sz   € ð
 	×Ò� SÑ)Ô)Ñ*Ô*Ð*Ø×Ò� UÑ+Ô+Ñ,Ô,Ð,Ø×Ò� WÑ-Ô-Ñ.Ô.Ð.Ø×Ò� [Ñ1Ô1Ñ2Ô2Ð2Ð2Ð2r   c                 óŽ   — |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         dS )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&   sB   € ð
 	×Ò� YÑ/Ô/Ñ0Ô0Ð0Ø×Ò� YÑ/Ô/Ñ0Ô0Ð0Ð0Ð0r   c                 ó  — |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         dS )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.   sz   € ð
 	×Ò� SÑ)Ô)Ñ*Ô*Ð*Ø×Ò� UÑ+Ô+Ñ,Ô,Ð,Ø×Ò� WÑ-Ô-Ñ.Ô.Ð.Ø×Ò� YÑ/Ô/Ñ0Ô0Ð0Ð0Ð0r   c                 óJ   — |                       t          d¦  «        ¦  «         dS )zM
        L{isIPAddress} should return C{False} for the empty string.
        Ú Nr   r   s    r   Útest_emptyStringzAddressTests.test_emptyString8   s$   € ð 	×Ò� R™œÑ)Ô)Ð)Ð)Ð)r   c                 ó  — |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         dS )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>   sz   € ð 	×Ò� TÑ*Ô*Ñ+Ô+Ð+Ø×Ò� VÑ,Ô,Ñ-Ô-Ð-Ø×Ò� XÑ.Ô.Ñ/Ô/Ð/Ø×Ò� ZÑ0Ô0Ñ1Ô1Ð1Ð1Ð1r   c                 óZ  — |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         dS )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   s—   € ð
 	×Ò� [Ñ1Ô1Ñ2Ô2Ð2Ø×Ò� [Ñ1Ô1Ñ2Ô2Ð2Ø×Ò� [Ñ1Ô1Ñ2Ô2Ð2Ø×Ò� [Ñ1Ô1Ñ2Ô2Ð2Ø×Ò�Ð%6Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8r   c                 ó  — |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         |                      t          d¦  «        ¦  «         |                      t          d¦  «        ¦  «         dS )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   sx   € ð
 	×Ò� \Ñ2Ô2Ñ3Ô3Ð3Ø×Ò� [Ñ1Ô1Ñ2Ô2Ð2Ø�Š�Ð$6Ñ7Ô7Ñ8Ô8Ð8Ø�Š�Ð$5Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7r   c                 óT   — |                       t          t          dt          ¦  «         dS )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°;ÅÑGÔGÐGÐGÐGr   c                 óŽ   — |                       t          d¦  «        ¦  «         |                       t          d¦  «        ¦  «         dS )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   sD   € ð 	×Ò�Ð%5Ñ6Ô6Ñ7Ô7Ð7Ø×Ò�Ð%6Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8r   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r"   r$   r(   r*   © r   r   r   r      sê   € € € € € ðð ð8ð 8ð 8ð 8ð3ð 3ð 3ð 3ð1ð 1ð 1ð 1ð1ð 1ð 1ð 1ð*ð *ð *ð *ð2ð 2ð 2ð 2ð	9ð 	9ð 	9ð 	9ð8ð 8ð 8ð 8ðHð Hð Hð Hð9ð 9ð 9ð 9ð 9ð 9r   r   N)r.   Úsocketr   Útwisted.internet.abstractr   Útwisted.trial.unittestr   r   r/   r   r   ú<module>r3      s…   ððð ð
 Ð Ð Ð Ð Ð à 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø +Ð +Ð +Ð +Ð +Ð +ð[9ð [9ð [9ð [9ð [9�8ñ [9ô [9ð [9ð [9ð [9r   