U ��.e��@s�dZddlmZddlmZmZmZmZmZm Z m Z m Z m Z dd�Z dd�Zd d �Zd d �Zd d�Zdd�Zdd�Zdd�Zdd�ZdS)z� webencodings.tests ~~~~~~~~~~~~~~~~~~ A basic test suite for Encoding. :copyright: Copyright 2012 by Simon Sapin :license: BSD, see LICENSE for details. �)�unicode_literals�) �lookup�LABELS�decode�encode� iter_decode� iter_encode�IncrementalDecoder�IncrementalEncoder�UTF8cOs6z|||�Wn|k r$YdSXtd|��dS)NzDid not raise %s.��AssertionError)Z exceptionZfunction�args�kwargs�r�B/usr/lib/python3.8/site-packages/pip/_vendor/webencodings/tests.py� assert_raisess rcCs td�jdkst�td�jdks$t�td�jdks6t�td�jdksHt�td�jdksZt�td�jdkslt�td�jdks~t�td�dks�t�td�dks�t�td �jd ks�t�td �jd ks�t�td �jd ks�t�td �jd ks�t�td�dks�t�td�dk�st�dS)Nzutf-8zUtf-8zUTF-8�utf8zutf8 z utf8 �u8uutf-8 zUS-ASCIIz windows-1252z iso-8859-1�latin1ZLATIN1zlatin-1uLATİN1)r�namerrrrr� test_labelssrcCstD]�}td|�dt|�fks"t�td|�dks4t�dD]D}tdg||�\}}t|�gks`t�ttdg||��gks8t�q8t|�}|�d�dks�t�|jddd�dks�t�t |�}|�d�dks�t�|jddd�dkst�qt t� ��D]}t|�j |ks�t�q�dS)N��)rr� T)�final) rrrrrr�listr r r �set�valuesr)Zlabel�repeat�output�_�decoder�encoderrrrr�test_all_labels0sr%cCsTtttdd�tttdd�tttgd�tttgd�tttd�tttd�dS)N�éZinvalid�é)r� LookupErrorrrrr r r rrrr�test_invalid_labelCs  r)cCs�tdd�dtd�fkst�tdtd��dtd�fks8t�tdd�dtd�fksRt�tdt�dtd�fkslt�tdd�dtd�fks�t�td d�dtd�fks�t�td d�dtd �fks�t�td d�dtd �fks�t�tdd�dtd �fks�t�tdd�dtd �fk�s t�tdd�dtd �fk�s&t�tdd�dtd �fk�sBt�tdd�dtd �fk�s^t�tdd�dtd �fk�szt�tdd�dtd �fk�s�t�tdd�dtd �fk�s�t�dS)N��ru€�érr'�ascii�ér&�����utf-16be�����utf-16les���us�����zUTF-16BE��zUTF-16LEzUTF-16)rrrr rrrr� test_decodeLs r4cCsptdd�dkst�tdd�dks$t�tdd�dks6t�tdd�dksHt�tdd�dksZt�tdd �d kslt�dS) Nr'r��rr+�utf-16r3r1r/r2)rrrrrr� test_encodebs r7cCs�dd�}|gd�dkst�|dgd�dks.t�|dgd�dksBt�|dgd�d ksVt�|d d gd�d kslt�|d d gd�d ks�t�|dgd�dks�t�|dgd�dks�t�|dddgd�dks�t�|dddgd�dks�t�|ddddddgd�dks�t�|dgd�dk�st�|dgd�dk�s$t�|dgd�dk�s:t�|dgd�dk�sPt�|ddddddgd�dk�spt�|ddd gd �d!k�s�t�dS)"NcSst||�\}}d�|�S)Nr)r�join)�inputZfallback_encodingr!Z _encodingrrr�iter_decode_to_stringlsz/test_iter_decode..iter_decode_to_stringrrrr5r'shelloZhellosheslloshell�or+r-r&s�����aua���s���s�uï»r.r0��s���sh��x-user-defineduhllor )r:rrr�test_iter_decodeks������������� ���rCcCs�d�tgd��dkst�d�tdgd��dks2t�d�tdgd��dksLt�d�tddddgd��dkslt�d�tddddgd��dks�t�d�tddddgd��dks�t�d�tddddgd ��d ks�t�d�tdd dd gd ��dks�t�dS)Nrrrr'r5r6r3r1r/r2uhZllorBsh�llo)r8r rrrrr�test_iter_encode�s"    ���rDcCs@d}d}d}d}t|d�|td�fks*t�t|d�|kss ,