+
    m4iç  ã                   ó  € R t  ^ RItA^ RIHt ^ RIHtHt  ^ RIHt ^ RIHtHt ^ RIHtHt ^ RIHtHtHt ^RIHt ^R	IHtHt ^R
IHtHtHtHtHtHtH t H!t!H"t"  ! R R]4      t#R#   ]	 d
    ^ RI
Ht  LZi ; i  ]	 d     R# i ; i)ú!
Tests for hyperlink.hypothesis.
N)Údigits)ÚSequenceÚText)Úpatch)ÚgivenÚsettings)ÚSearchStrategyÚdata)Ú	IDNAErrorÚcheck_labelÚencode)ÚHyperlinkTestCase)Ú
DecodedURLÚ
EncodedURL)	ÚDrawCallableÚ	compositeÚdecoded_urlsÚencoded_urlsÚhostname_labelsÚ	hostnamesÚ	idna_textÚpathsÚport_numbersc                   óf  a € ] tR t^(t o Rt]! ]! 4       4      R 4       t]! ]! 4       4      R 4       t	]! ]
! 4       4      R 4       t]! ]
! RR7      4      R 4       t]! ]! 4       4      R 4       t]! ]! 4       4      ]! ^
R	7      R
 4       4       t]! ]! RR7      4      R 4       t]! ]! 4       4      R 4       t]! ]! RR7      4      R 4       t]! ]! RR7      4      R 4       t]! ]! RRR7      4      R 4       t]! ]! 4       4      R 4       t]! ]! 4       4      R 4       t]! ]! 4       4      R 4       tRtV tR# )ÚTestHypothesisStrategiesr   c                óp   €  \        V4       R#   \         d    \        RP                  T4      4      hi ; i)z,
idna_text() generates IDNA-encodable text.
zInvalid IDNA text: {!r}N)Úidna_encoder   ÚAssertionErrorÚformat)ÚselfÚtexts   &&Ú@/usr/lib/python3/dist-packages/hyperlink/test/test_hypothesis.pyÚtest_idna_text_validÚ-TestHypothesisStrategies.test_idna_text_valid-   s8   € ðMÜ˜DÖ!øÜô MÜ$Ð%>×%EÑ%EÀdÓ%KÓLÐLðMús   ‚ �&5c                ó²   € V P                  \        VP                  \        ^ R7      4       V P                  \        VP                  \        ^ R7      4       R# )z7
idna_text() raises AssertionError if min_size is < 1.
)Úmin_size)Úmax_sizeN)ÚassertRaisesr   Údrawr   )r    r
   s   &&r"   Útest_idna_text_min_maxÚ/TestHypothesisStrategies.test_idna_text_min_max8   s:   € ð ×Ñœn¨d¯i©i¼ÈAÔ9NÔOØ×Ñœn¨d¯i©i¼ÈAÔ9NÖOó    c                óN   € V P                  V^4       V P                  VR4       R# )zC
port_numbers() generates integers between 1 and 65535, inclusive.
éÿÿ  N©ÚassertGreaterEqualÚassertLessEqual©r    Úports   &&r"   Útest_port_numbers_boundsÚ1TestHypothesisStrategies.test_port_numbers_boundsA   s$   € ð ×#Ñ# D¨!Ô,Ø× Ñ   uÖ-r,   T)Ú
allow_zeroc                óN   € V P                  V^ 4       V P                  VR4       R# )zR
port_numbers(allow_zero=True) generates integers between 0 and
65535, inclusive.
r.   Nr/   r2   s   &&r"   Ú#test_port_numbers_bounds_allow_zeroÚ<TestHypothesisStrategies.test_port_numbers_bounds_allow_zeroJ   s$   € ð ×#Ñ# D¨!Ô,Ø× Ñ   uÖ-r,   c                ó†   €  \        V4       \        V4       R#   \         d    \        RP	                  T4      4      hi ; i)z3
hostname_labels() generates IDN host name labels.
úInvalid IDN label: {!r}N)r   r   ÚUnicodeErrorr   r   ©r    Úlabels   &&r"   Útest_hostname_labels_valid_idnÚ7TestHypothesisStrategies.test_hostname_labels_valid_idnT   s@   € ðNÜ˜EÔ"Ü˜EÖ"øÜô NÜ$Ð%>×%EÑ%EÀeÓ%LÓMÐMðNús	   ‚ š&A )Úmax_examplesc                ó6  € \         R 4       p\        RV4      ;_uu_ 4        VP                  ! \        4       4      p \	        V4       \        V4        RRR4       R#   \         d    \        RP                  T4      4      hi ; i  + '       g   i     R# ; i)zz
hostname_labels() handles case where idna_text() generates text
that encoded to punycode ends up as longer than allowed.
c                 ó   € R V,          # )ô   Ã¡© )r)   r&   r'   s   &&&r"   Úmock_idna_textÚWTestHypothesisStrategies.test_hostname_labels_long_idn_punycode.<locals>.mock_idna_texti   s   € ð >ÀÕHÐHr,   zhyperlink.hypothesis.idna_textr;   N)	r   r   r)   r   r   r   r<   r   r   )r    r
   rF   r>   s   &&  r"   Ú&test_hostname_labels_long_idn_punycodeÚ?TestHypothesisStrategies.test_hostname_labels_long_idn_punycode`   s�   € ô ñIó ðIô Ð7¸×HÕHØŸ	š	¤/Ó"3Ó4�ðÜ Ô&Ü Õ&÷	 IÑHøô
 $ô Ü(Ø1×8Ñ8¸Ó?óð ðú÷ I×HÐHús   ¡B½AÁ&BÂBÂB	F)Ú	allow_idnc                ó’   €  \        V4       VP                  R4       R#   \         d    \        RP	                  T4      4      hi ; i)z7
hostname_labels() generates a ASCII host name labels.
ÚasciizInvalid ASCII label: {!r}N)r   r   r<   r   r   r=   s   &&r"   Ú test_hostname_labels_valid_asciiÚ9TestHypothesisStrategies.test_hostname_labels_valid_ascii}   sD   € ðPÜ˜EÔ"Ø—‘˜WÖ%øÜô PÜ$Ð%@×%GÑ%GÈÓ%NÓOÐOðPús	   ‚   &Ac                ó¶   €  VP                  R4       F  p\        V4       K  	  \        V4       R#   \         d    \	        RP                  T4      4      hi ; i)z)
hostnames() generates a IDN host names.
Ú.zInvalid IDN host name: {!r}N)Úsplitr   r   r<   r   r   ©r    Úhostnamer>   s   && r"   Útest_hostnames_idnÚ+TestHypothesisStrategies.test_hostnames_idn‰   sT   € ðØ%Ÿ^™^¨DÖ1�EÜ Ö&ñ 2ä˜HÖ%øÜô Ü$Ø1×8Ñ8¸ÓBóð ðús	   ‚.2 ²&A)Úallow_leading_digitc                óR   € V P                  WP                  \        4      8H  4       R# )zY
hostnames(allow_leading_digit=False) generates a IDN host names
without leading digits.
N©Ú
assertTrueÚlstripr   ©r    rS   s   &&r"   Útest_hostnames_idn_noleadÚ2TestHypothesisStrategies.test_hostnames_idn_nolead˜   ó   € ð �O‰O˜H¯©¼Ó(?Ñ?Ö@r,   c                óÂ   €  VP                  R4       F  p\        V4       K  	  VP                  R4       R#   \         d    \	        RP                  T4      4      hi ; i)z+
hostnames() generates a ASCII host names.
rP   rL   zInvalid ASCII host name: {!r}N)rQ   r   r   r<   r   r   rR   s   && r"   Útest_hostnames_asciiÚ-TestHypothesisStrategies.test_hostnames_ascii¡   sX   € ðØ%Ÿ^™^¨DÖ1�EÜ Ö&ñ 2à—‘ Ö(øÜô Ü$Ø3×:Ñ:¸8ÓDóð ðús	   ‚48 ¸&A)rV   rJ   c                óR   € V P                  WP                  \        4      8H  4       R# )zj
hostnames(allow_leading_digit=False, allow_idn=False) generates
ASCII host names without leading digits.
NrX   r[   s   &&r"   Útest_hostnames_ascii_noleadÚ4TestHypothesisStrategies.test_hostnames_ascii_nolead°   r^   r,   c                óÔ   € RP                  V4      p VP                  R4       T F  pT P                  RT4       K  	  R#   \         d    \        RP	                  T4      4      hi ; i)z5
paths() generates sequences of URL path components.
Ú/zutf-8zInvalid URL path: {!r}z#/?N)Újoinr   r<   r   r   ÚassertNotIn)r    Úpathr!   Úsegments   &&  r"   Ú
test_pathsÚ#TestHypothesisStrategies.test_paths¹   si   € ð —9‘9˜T“?ˆDðLØ—‘˜GÔ$ó  �Ø× Ñ  ¨Ö0ó  øô  ô LÜ$Ð%=×%DÑ%DÀTÓ%JÓKÐKðLús   “A Á&A'c                ó2   € V P                  V\        4       R# )z'
encoded_urls() generates EncodedURLs.
N)ÚassertIsInstancer   ©r    Úurls   &&r"   Útest_encoded_urlsÚ*TestHypothesisStrategies.test_encoded_urlsÈ   ó   € ð ×!Ñ! #¤zÖ2r,   c                ó2   € V P                  V\        4       R# )z'
decoded_urls() generates DecodedURLs.
N)rn   r   ro   s   &&r"   Útest_decoded_urlsÚ*TestHypothesisStrategies.test_decoded_urlsÐ   rs   r,   rE   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r#   r
   r*   r   r4   r8   r   r?   r   rH   rM   r   rT   r\   r`   rc   r   rk   r   rq   r   ru   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r"   r   r   (   s­  ø‡ € ñ	ñ 
‰y‹{Ó	ñ	Mó 
ð	Mñ 
‰t‹v‹ñ	Pó 
ð	Pñ 
‰|‹~Ó	ñ	.ó 
ð	.ñ 
‰| tÔ,Ó	-ñ	.ó 
.ð	.ñ 
‰Ó Ó	!ñ		Nó 
"ð		Nñ 
‰t‹v‹Ù	˜rÔ	"ñ	ó 
#ó 
ð	ñ6 
‰¨Ô/Ó	0ñ		Pó 
1ð		Pñ 
‰y‹{Ó	ñ	ó 
ð	ñ 
‰y¨UÔ3Ó	4ñ	Aó 
5ð	Añ 
‰y 5Ô)Ó	*ñ	ó 
+ð	ñ 
‰y¨U¸eÔDÓ	Eñ	Aó 
Fð	Añ 
‰u‹w‹ñ	1ó 
ð	1ñ 
‰|‹~Ó	ñ	3ó 
ð	3ñ 
‰|‹~Ó	ñ	3ó 
ö	3r,   r   )$r{   Ú
hypothesisÚstringr   Útypingr   r   Úunittest.mockr   ÚImportErrorÚmockr   r   Úhypothesis.strategiesr	   r
   Úidnar   r   r   r   Úcommonr   Ú r   r   r   r   r   r   r   r   r   r   r   r   rE   r,   r"   Ú<module>r‰      s   ðñðP3Ûàõ ß%ðÝ'÷ +ß:çBÑBå)ß)÷
÷ 
õ 
ôn3Ð#4ö n3øð- ô ßðûð ô 	Úð	ús"   „A< ˜A) Á)A9Á8A9Á<BÂB