File: //usr/lib/python3/dist-packages/lazr/uri/tests/__pycache__/test_uri.cpython-310.pyc
o
�^� � @ s\ d Z eZdgZddlmZ ddlZddlmZm Z m
Z
mZmZ G dd� dej
�Zdd � ZdS )
zUnit tests.�
test_suite� )�defaultdictN)�InvalidURIError�URI�find_uris_in_text�merge�remove_dot_segmentsc @ sT e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� ZdS )�URITestCasec C s| | � ttd��d� | � ttd��d� | � ttd��d� | � ttd��d� | � ttd ��d� | � ttd
��d� d S )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 ��self� r �9/usr/lib/python3/dist-packages/lazr/uri/tests/test_uri.py�test_normalisation! s$ ������zURITestCase.test_normalisationc
C s� ddgddgddgg d�g}t t�}|D ]}|D ]
}|tt|�� �|� qq| �t|�t|�� |D ]}| �t|�t|tt|d �� �� q3d S ) Nr
r r r
r r )r r r r r )r �list�hashr �appendr �len�sorted)r �
uri_groups�
uri_hashes� uri_group�urir r r �
test_hashable4 s. �������zURITestCase.test_hashablec C s | � ttd� d S )Nu http://€xample.com/)�assertRaisesr r r r r r �test_invalid_uriK s zURITestCase.test_invalid_uric C s\ | � tdddd�d� | � tdddd�d� | � tdddd�d� | � td ddd�d� d S )
N� �fooT)�
has_authorityz/fooFz/a/b/cz/a/b/fooz/a/b/)r r r r r r �
test_mergeN s ��zURITestCase.test_mergec C s$ | � td�d� | � td�d� d S )Nz/a/b/c/./../../gz/a/gzmid/content=5/../6zmid/6)r r r r r r �test_remove_dot_segmentsX s z$URITestCase.test_remove_dot_segmentsc s� t d�� � fdd�}| �|d�d� | �|d�d� | �|d�d� | �|d�d � | �|d
�d� | �|d�d
� | �|d�d� | �|d�d� | �|d�d� | �|d�d� | �|d�d� | �|d�d� | �|d�d� | �|d�d� | �|d�d� | �|d�d � | �|d!�d � | �|d"�d#� | �|d$�d#� | �|d%�d&� | �|d'�d(� | �|d)�d(� | �|d*�d� d S )+N�http://a/b/c/d;p?qc � t � �| ��S �N�r �resolve��relative��baser r r0 ` � z3URITestCase.test_normal_resolution.<locals>.resolvezg: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'