Current File : //usr/lib/python3/dist-packages/lazr/uri/tests/__pycache__/test_uri.cpython-312.pyc
�

�^���r�dZeZdgZddlmZddlZddlmZm	Z	m
Z
mZmZGd�dej�Zd�Zy)	zUnit tests.�
test_suite�)�defaultdictN)�InvalidURIError�URI�find_uris_in_text�merge�remove_dot_segmentsc�B�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�URITestCasec��|jttd��d�|jttd��d�|jttd��d�|jttd��d�|jttd	��d�|jttd
��d�y)N�"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/)�assertEqual�strr��selfs �9/usr/lib/python3/dist-packages/lazr/uri/tests/test_uri.py�test_normalisationzURITestCase.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
�t�ddgddgddggd�g}tt�}|D]/}|D](}|tt|��j	|��*�1|jt
|�t
|��|D]>}|jt|�t|tt|d�����@y)	Nr
rrrrr)rrrrr)r�list�hashr�appendr�len�sorted)r�
uri_groups�
uri_hashes�	uri_group�uris     r�
test_hashablezURITestCase.test_hashable4s���
1�
(�
*�
&�
&�
(�
.�
,�
.�
'��
�!��&�
�#�	7�I� �
7���4��C��>�*�1�1�#�6�
7�	7�	
����Z��#�j�/�:�#�	=�I�����y�!��z�$�s�9�Q�<�'8�"9�:�;�
=�	=rc�:�|jttd�y)Nuhttp://€xample.com/)�assertRaisesrrrs r�test_invalid_urizURITestCase.test_invalid_uriKs�����/�3�0G�Hrc���|jtddd��d�|jtddd��d�|jtddd��d�|jtd	dd��d�y)
N��fooT)�
has_authorityz/fooFz/a/b/cz/a/b/fooz/a/b/)rrrs r�
test_mergezURITestCase.test_mergeNsn��	
����r�5��=�v�F�����r�5��>��F�����x��d�C�#�	%�����w��T�B�#�	%rc�p�|jtd�d�|jtd�d�y)Nz/a/b/c/./../../gz/a/gzmid/content=5/../6zmid/6)rr	rs r�test_remove_dot_segmentsz$URITestCase.test_remove_dot_segmentsXs0�����,�-?�@�&�I����,�-A�B�G�Lrc�v��td���fd�}|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d	�d
�|j|d�d�|j|d
�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d �d�|j|d!�d"�|j|d#�d"�|j|d$�d%�|j|d&�d'�|j|d(�d'�|j|d)�d
�y)*N�http://a/b/c/d;p?qc�8��t�j|��S�N�r�resolve��relative�bases �rr8z3URITestCase.test_normal_resolution.<locals>.resolve`�����t�|�|�H�-�.�.rzg:h�gzhttp://a/b/c/gz./gzg/�http://a/b/c/g/z/g�
http://a/gz//gz	http://g/z?yzhttp://a/b/c/d;p?yzg?yzhttp://a/b/c/g?yz#szhttp://a/b/c/d;p?q#szg#szhttp://a/b/c/g#szg?y#szhttp://a/b/c/g?y#sz;xzhttp://a/b/c/;xzg;xzhttp://a/b/c/g;xzg;x?y#szhttp://a/b/c/g;x?y#sr-�.z
http://a/b/c/z./z..zhttp://a/b/z../z../g�http://a/b/gz../..z	http://a/z../../z../../g�rr�rr8r;s  @r�test_normal_resolutionz"URITestCase.test_normal_resolution]s�����'�(��	/�������U�3�������-=�>�������-=�>�������->�?�������\�:�������[�9�������-A�B�������-?�@�������-C�D�������-?�@������)�-A�B�������->�?�������-?�@������+�-C�D�������-A�B�������_�=�������_�=�������]�;�������]�;�������^�<������)�[�9������*�[�9������+�\�:rc���td���fd�}|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d	�|j|d
�d�|j|d�d
�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d �d!�|j|d"�d#�y)$Nr4c�8��t�j|��Sr6r7r9s �rr8z5URITestCase.test_abnormal_resolution.<locals>.resolve~r<rz
../../../gr?z
../../../../gz/./gz/../gzg.zhttp://a/b/c/g.z.gzhttp://a/b/c/.gzg..zhttp://a/b/c/g..z..gzhttp://a/b/c/..gz./../grAz./g/.r>zg/./hzhttp://a/b/c/g/hzg/../hzhttp://a/b/c/hz	g;x=1/./yzhttp://a/b/c/g;x=1/yz
g;x=1/../yzhttp://a/b/c/yzg?y/./xzhttp://a/b/c/g?y/./xzg?y/../xzhttp://a/b/c/g?y/../xzg#s/./xzhttp://a/b/c/g#s/./xzg#s/../xzhttp://a/b/c/g#s/../xrBrCs  @r�test_abnormal_resolutionz$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�Jrc���td�}|j|jd��|j|jd��|j|jd��y)N�http://code.launchpad.dev/foozcode.launchpad.devz
launchpad.devr-)r�
assertTrue�underDomain�rr's  r�"test_underDomain_matches_subdomainz.URITestCase.test_underDomain_matches_subdomain�sO���1�2��������(<�=�>��������8�9��������+�,rc���td�}|j|jd��|j|jd��|j|jd��y)NrIzbeta.code.launchpad.devz
google.comzunchpad.dev)r�assertFalserKrLs  r�+test_underDomain_doesnt_match_non_subdomainz7URITestCase.test_underDomain_doesnt_match_non_subdomain�sU���1�2��������)B�C�D��������6�7��������7�8rN)�__name__�
__module__�__qualname__rr(r+r0r2rDrGrMrP�rrrrs2��4�&=�.I�%�M�
;�<K�8-�9rrc�P�tj�jt�Sr6)�unittest�
TestLoader�loadTestsFromNamerQrTrr�additional_testsrY�s����� �2�2�8�<�<r)�__doc__�type�
__metaclass__�__all__�collectionsrrV�lazr.urirrrrr	�TestCaserrYrTrr�<module>rasG��"��
����$��I�I�F9�(�#�#�F9�R=r