+
    Dfj                     D    R t ^ RIHt ^ RIHt ^ RIHt  ! R R]4      tR# )z?
Tests for generic file descriptor based reactor support code.
)AF_IPX)isIPAddress)TestCasec                      a  ] tR t^t o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )AddressTestsz*
Tests for address-related functionality.
c                   < V ^8  d   QhRR/#    returnN )format__classdict__s   "</usr/lib/python3/dist-packages/twisted/test/test_abstract.py__annotate__AddressTests.__annotate__   s     8 8D 8    c                n    V P                  \        R4      4       V P                  \        R4      4       R# )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   &r   test_decimalDottedAddressTests.test_decimalDotted   s'    
 	I./$567r   c                   < V ^8  d   QhRR/# r   r   )r   r   s   "r   r   r      s     3 3 3r   c                    V P                  \        R4      4       V P                  \        R4      4       V P                  \        R4      4       V P                  \        R4      4       R# )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                   < V ^8  d   QhRR/# r   r   )r   r   s   "r   r   r   &   s     1 1T 1r   c                n    V P                  \        R4      4       V P                  \        R4      4       R# )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                   < V ^8  d   QhRR/# r   r   )r   r   s   "r   r   r   .   s     1 1 1r   c                    V P                  \        R4      4       V P                  \        R4      4       V P                  \        R4      4       V P                  \        R4      4       R# )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                   < V ^8  d   QhRR/# r   r   )r   r   s   "r   r   r   8   s     * *$ *r   c                :    V P                  \        R4      4       R# )z=
L{isIPAddress} should return C{False} for the empty string.
 Nr   r   s   &r   test_emptyStringAddressTests.test_emptyString8   s     	R)r   c                   < V ^8  d   QhRR/# r   r   )r   r   s   "r   r   r   >   s     2 2d 2r   c                    V P                  \        R4      4       V P                  \        R4      4       V P                  \        R4      4       V P                  \        R4      4       R# )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                   < V ^8  d   QhRR/# r   r   )r   r   s   "r   r   r   G   s     	9 	9d 	9r   c                
   V P                  \        R4      4       V P                  \        R4      4       V P                  \        R4      4       V P                  \        R4      4       V P                  \        R4      4       R# )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                   < V ^8  d   QhRR/# r   r   )r   r   s   "r   r   r   R   s     8 8d 8r   c                    V P                  \        R4      4       V P                  \        R4      4       V P                  \        R4      4       V P                  \        R4      4       R# )z?
L{isIPAddress} evaluates ASCII-encoded bytes as well as text.
s	   256.0.0.0r4   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                   < V ^8  d   QhRR/# r   r   )r   r   s   "r   r   r   \   s     H H Hr   c                F    V P                  \        \        R\        4       R# )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                   < V ^8  d   QhRR/# r   r   )r   r   s   "r   r   r   c   s     9 9t 9r   c                n    V P                  \        R4      4       V P                  \        R4      4       R# )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   r   N)__name__
__module____qualname____firstlineno____doc__r   r   r"   r'   r,   r0   r5   r9   r?   rC   __static_attributes____classdictcell__)r   s   @r   r   r      sp     8 83 31 11 1* *2 2	9 	98 8H H9 9r   r   N)rI   socketr   twisted.internet.abstractr   twisted.trial.unittestr   r   r   r   r   <module>rO      s#   
  1 +[98 [9r   