+
    šçJiè  ã                   ót   € R t ]tR.t^ RIHt ^ RIt^ RIHtH	t	H
t
HtHt  ! R R]P                  4      tR tR# )zUnit tests.Ú
test_suite)ÚdefaultdictN)ÚInvalidURIErrorÚURIÚfind_uris_in_textÚmergeÚremove_dot_segmentsc                   óV   a € ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
tV tR# )ÚURITestCasec                ó¶  € V P                  \        \        R 4      4      R4       V P                  \        \        R4      4      R4       V P                  \        \        R4      4      R4       V P                  \        \        R4      4      R4       V P                  \        \        R4      4      R4       V P                  \        \        R	4      4      R4       R
# )ú"eXAMPLE://a/./b/../b/%63/%7bfoo%7dúexample://a/b/c/%7Bfoo%7Dúhttp://www.EXAMPLE.com/úhttp://www.example.com/úhttp://www.gnome.org/%7ejamesh/úhttp://www.gnome.org/~jamesh/úhttp://example.comúhttp://example.com/úhttp://example.com:/úhttp://example.com:80/N)ÚassertEqualÚstrr   ©Úselfs   &Ú9/usr/lib/python3/dist-packages/lazr/uri/tests/test_uri.pyÚtest_normalisationÚURITestCase.test_normalisation!   sº   € à×ÑœœSÐ!EÓFÓGØ4ô	6ð 	×ÑœœSÐ!:Ó;Ó<Ø2ô	4à×ÑœœSÐ!BÓCÓDØ8ô	:ð
 	×ÑœœSÐ!5Ó6Ó7Ø2ô	4à×ÑœœSÐ!7Ó8Ó9Ø2ô	4à×ÑœœSÐ!9Ó:Ó;Ø2ö	4ó    c                óš  € R R.RR.RR.. RO.p\        \        4      pV F6  pV F-  pV\        \        V4      4      ,          P	                  V4       K/  	  K8  	  V P                  \        V4      \        V4      4       V FG  pV P                  \        V4      \        V\        \        V^ ,          4      4      ,          4      4       KI  	  R# )r   r   r   r   r   r   N)r   r   r   r   )r   ÚlistÚhashr   Úappendr   ÚlenÚsorted)r   Ú
uri_groupsÚ
uri_hashesÚ	uri_groupÚuris   &    r   Útest_hashableÚURITestCase.test_hashable4   s¿   € à1Ø(ð*à&Ø&ð(à.Ø,ð.ò'ðˆ
ô !¤Ó&ˆ
Û#ˆIÛ �Øœ4¤ C£›>Õ*×1Ñ1°#Ö6ó !ñ $ð 	×Ñœ˜Z›¬#¨j«/Ô:Û#ˆIØ×ÑÜ�yÓ!Ü�z¤$¤s¨9°Q­<Ó'8Ó"9Õ:Ó;ö=ó $r   c                ó<   € V P                  \        \        R 4       R# )u   http://â‚¬xample.com/N)ÚassertRaisesr   r   r   s   &r   Útest_invalid_uriÚURITestCase.test_invalid_uriK   s   € Ø×Ñœ/¬3Ð0GÖHr   c                óö   € V P                  \        R RRR7      R4       V P                  \        R RRR7      R4       V P                  \        RRRR7      R4       V P                  \        RRRR7      R4       R	# )
Ú ÚfooT)Úhas_authorityz/fooFz/a/b/cz/a/b/fooz/a/b/N)r   r   r   s   &r   Ú
test_mergeÚURITestCase.test_mergeN   sn   € ð 	×Ñœ˜r 5¸Ô=¸vÔFØ×Ñœ˜r 5¸Ô>ÀÔFØ×Ñœ˜x¨¸dÔCØ#ô	%à×Ñœ˜w¨¸TÔBØ#ö	%r   c                ór   € V P                  \        R 4      R4       V P                  \        R4      R4       R# )z/a/b/c/./../../gz/a/gzmid/content=5/../6zmid/6N)r   r   r   s   &r   Útest_remove_dot_segmentsÚ$URITestCase.test_remove_dot_segmentsX   s0   € à×ÑÔ,Ð-?Ó@À&ÔIØ×ÑÔ,Ð-AÓBÀGÖLr   c                óz  a€ \        R 4      oV3R lpV P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R	4       V P                  V! R
4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R 4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R 4      R!4       V P                  V! R"4      R!4       V P                  V! R#4      R$4       V P                  V! R%4      R&4       V P                  V! R'4      R&4       V P                  V! R(4      R	4       R)# )*úhttp://a/b/c/d;p?qc                 ó8   <€ \        SP                  V 4      4      # ©N©r   Úresolve©ÚrelativeÚbases   &€r   r<   Ú3URITestCase.test_normal_resolution.<locals>.resolve`   ó   ø€ Ü�t—|‘| HÓ-Ó.Ð.r   zg:hÚgzhttp://a/b/c/gz./gzg/úhttp://a/b/c/g/z/gú
http://a/gz//gz	http://g/z?yzhttp://a/b/c/d;p?yzg?yzhttp://a/b/c/g?yz#szhttp://a/b/c/d;p?q#szg#szhttp://a/b/c/g#szg?y#szhttp://a/b/c/g?y#sz;xzhttp://a/b/c/;xzg;xzhttp://a/b/c/g;xzg;x?y#szhttp://a/b/c/g;x?y#sr/   Ú.zhttp://a/b/c/z./z..zhttp://a/b/z../z../gúhttp://a/b/gz../..z	http://a/z../../z../../gN©r   r   ©r   r<   r?   s   & @r   Útest_normal_resolutionÚ"URITestCase.test_normal_resolution]   sð  ø€ äÐ'Ó(ˆõ	/à×Ñ™ ›¨UÔ3Ø×Ñ™ ›Ð-=Ô>Ø×Ñ™ ›Ð-=Ô>Ø×Ñ™ ›Ð->Ô?Ø×Ñ™ ›¨\Ô:à×Ñ™ ›¨[Ô9Ø×Ñ™ ›Ð-AÔBØ×Ñ™ ›Ð-?Ô@Ø×Ñ™ ›Ð-CÔDØ×Ñ™ ›Ð-?Ô@Ø×Ñ™ Ó)Ð-AÔBØ×Ñ™ ›Ð->Ô?Ø×Ñ™ ›Ð-?Ô@Ø×Ñ™ Ó+Ð-CÔDØ×Ñ™ ›Ð-AÔBØ×Ñ™ ›¨_Ô=Ø×Ñ™ ›¨_Ô=Ø×Ñ™ ›¨]Ô;Ø×Ñ™ ›¨]Ô;Ø×Ñ™ ›¨^Ô<Ø×Ñ™ Ó)¨[Ô9Ø×Ñ™ Ó*¨[Ô9Ø×Ñ™ Ó+¨\Ö:r   c                óŠ  a€ \        R 4      oV3R lpV P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R	4      R
4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R 4       V P                  V! R!4      R"4       R## )$r8   c                 ó8   <€ \        SP                  V 4      4      # r:   r;   r=   s   &€r   r<   Ú5URITestCase.test_abnormal_resolution.<locals>.resolve~   rA   r   z
../../../grD   z../../../../gz/./gz/../gzg.zhttp://a/b/c/g.z.gzhttp://a/b/c/.gzg..zhttp://a/b/c/g..z..gzhttp://a/b/c/..gz./../grF   z./g/.rC   zg/./hzhttp://a/b/c/g/hzg/../hzhttp://a/b/c/hz	g;x=1/./yzhttp://a/b/c/g;x=1/yz
g;x=1/../yzhttp://a/b/c/yzg?y/./xzhttp://a/b/c/g?y/./xzg?y/../xzhttp://a/b/c/g?y/../xzg#s/./xzhttp://a/b/c/g#s/./xzg#s/../xzhttp://a/b/c/g#s/../xNrG   rH   s   & @r   Útest_abnormal_resolutionÚ$URITestCase.test_abnormal_resolution{   s•  ø€ äÐ'Ó(ˆõ	/à×Ñ™ Ó.°,Ô?Ø×Ñ™ Ó1°,Ô?Ø×Ñ™ ›°,Ô?Ø×Ñ™ Ó)°,Ô?Ø×Ñ™ ›Ð2CÔDØ×Ñ™ ›Ð2CÔDØ×Ñ™ ›Ð2DÔEØ×Ñ™ ›Ð2DÔEØ×Ñ™ Ó*°.ÔAØ×Ñ™ Ó)Ð2CÔDØ×Ñ™ Ó)Ð2DÔEØ×Ñ™ Ó*Ð2BÔCØ×Ñ™ Ó-Ð2HÔIØ×Ñ™ Ó.Ð2BÔCØ×Ñ™ Ó+Ð2HÔIØ×Ñ™ Ó,Ð2IÔJØ×Ñ™ Ó+Ð2HÔIØ×Ñ™ Ó,Ð2IÖJr   c                óÜ   € \        R 4      pV P                  VP                  R4      4       V P                  VP                  R4      4       V P                  VP                  R4      4       R# )úhttp://code.launchpad.dev/foozcode.launchpad.devzlaunchpad.devr/   N)r   Ú
assertTrueÚunderDomain©r   r'   s   & r   Ú"test_underDomain_matches_subdomainÚ.URITestCase.test_underDomain_matches_subdomain—   sO   € ô Ð1Ó2ˆØ�‰˜Ÿ™Ð(<Ó=Ô>Ø�‰˜Ÿ™¨Ó8Ô9Ø�‰˜Ÿ™¨Ó+Ö,r   c                óÜ   € \        R 4      pV P                  VP                  R4      4       V P                  VP                  R4      4       V P                  VP                  R4      4       R# )rQ   zbeta.code.launchpad.devz
google.comzunchpad.devN)r   ÚassertFalserS   rT   s   & r   Ú+test_underDomain_doesnt_match_non_subdomainÚ7URITestCase.test_underDomain_doesnt_match_non_subdomainŸ   sU   € ô Ð1Ó2ˆØ×Ñ˜Ÿ™Ð)BÓCÔDØ×Ñ˜Ÿ™¨Ó6Ô7Ø×Ñ˜Ÿ™¨Ó7Ö8r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r(   r,   r2   r5   rI   rN   rU   rY   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r
   r
      s:   ø‡ € ò4ò&=ò.Iò%òMò
;ò<Kò8-÷9ð 9r   r
   c                  óR   € \         P                  ! 4       P                  \        4      # r:   )ÚunittestÚ
TestLoaderÚloadTestsFromNamer\   r[   r   r   Úadditional_testsrg   ¨   s   € Ü×ÒÓ ×2Ñ2´8Ó<Ð<r   )Ú__doc__ÚtypeÚ__metaclass__Ú__all__Úcollectionsr   rd   Úlazr.urir   r   r   r   r   ÚTestCaser
   rg   r[   r   r   Ú<module>ro      sG   ðñ" à€àð€õ $Û ÷Iõ IôF9�(×#Ñ#ô F9ôR=r   