+
    üÐ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ñ 8 Dñ 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ñ 1 Tñ 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ñ 2 dñ 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ñ 	9 dñ 	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ñ 8 dñ 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ñ 9˜tñ 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Ý +ô[9�8ö [9r   