o
    bk                     @   s<   d Z ddlmZ ddlmZ ddlmZ G dd deZdS )z?
Tests for generic file descriptor based reactor support code.
    )AF_IPX)isIPAddress)TestCasec                   @   s`   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.
    c                 C       |  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   self r   </usr/lib/python3/dist-packages/twisted/test/test_abstract.pytest_decimalDotted      zAddressTests.test_decimalDottedc                 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	   r   r   r   test_shortDecimalDotted      z$AddressTests.test_shortDecimalDottedc                 C   r   )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	   r   r   r   test_invalidLetters&   r   z AddressTests.test_invalidLettersc                 C   r   )zl
        L{isIPAddress} should return C{False} for a string containing
        strange punctuation.
        ,z1,2z1,2,3z1.,.3,4Nr   r	   r   r   r   test_invalidPunctuation.   r   z$AddressTests.test_invalidPunctuationc                 C   s   |  td dS )zM
        L{isIPAddress} should return C{False} for the empty string.
         Nr   r	   r   r   r   test_emptyString8   s   zAddressTests.test_emptyStringc                 C   r   )zT
        L{isIPAddress} should return C{False} for negative decimal values.
        z-1z1.-2z1.2.-3z1.2.-3.4Nr   r	   r   r   r   test_invalidNegative>      z!AddressTests.test_invalidNegativec                 C   sJ   |  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	   r   r   r   test_invalidPositiveG   s
   z!AddressTests.test_invalidPositivec                 C   s<   |  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	   r   r   r   test_unicodeAndBytesR   r   z!AddressTests.test_unicodeAndBytesc                 C   s   |  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	   r   r   r   test_nonIPAddressFamily[   s   z$AddressTests.test_nonIPAddressFamilyc                 C   r   )zt
        All IP addresses must be encodable as ASCII; non-ASCII should result in
        a L{False} result.
        s
   .notasciiu   䌡.notasciiNr   r	   r   r   r   test_nonASCIIb   r   zAddressTests.test_nonASCIIN)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r   r!   r"   r   r   r   r   r      s    

		r   N)r&   socketr   twisted.internet.abstractr   twisted.trial.unittestr   r   r   r   r   r   <module>   s
   