
    Yf                     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    L/var/www/html/env/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 [98 [9 [9 [9 [9 [9r   