o
    Ëý°j£  ã                   @   sˆ   d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
mZmZ dd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )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ÚUTF8c                 O   s4   z	||i |¤Ž W n
 | y   Y d S w t d|  ƒ‚)NzDid not raise %s.)ÚAssertionError)Ú	exceptionÚfunctionÚargsÚkwargs© r   ú‘/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pip/_vendor/webencodings/tests.pyÚassert_raises   s   ÿr   c                   C   s
  t dƒjdks	J ‚t dƒjdksJ ‚t dƒjdksJ ‚t dƒjdks$J ‚t dƒjdks-J ‚t dƒjdks6J ‚t dƒjdks?J ‚t dƒd u sGJ ‚t dƒd u sOJ ‚t d	ƒjd
ksXJ ‚t dƒjd
ksaJ ‚t dƒjd
ksjJ ‚t dƒjd
kssJ ‚t dƒd u s{J ‚t dƒd u sƒJ ‚d S )Nzutf-8zUtf-8zUTF-8Úutf8zutf8 z 
utf8	Úu8u   utf-8Â zUS-ASCIIzwindows-1252z
iso-8859-1Úlatin1ÚLATIN1zlatin-1u   LATÄ°N1)r   Únamer   r   r   r   Útest_labels   s   r   c                  C   s  t D ]m} td| ƒdt| ƒfksJ ‚td| ƒdksJ ‚dD ]"}tdg| | ƒ\}}t|ƒg ks0J ‚ttdg| | ƒƒg ks>J ‚qt| ƒ}| d¡dksLJ ‚|jddd�dksWJ ‚t| ƒ}| d¡dksdJ ‚|jddd�dksoJ ‚qt	t  
¡ ƒD ]}t|ƒj|ks�J ‚qvd S )Nó    Ú )r   r   é   T)Úfinal)r   r   r   r   r   Úlistr	   r
   r   ÚsetÚvaluesr   )ÚlabelÚrepeatÚoutputÚ_ÚdecoderÚencoderr   r   r   r   Útest_all_labels0   s    ÿr(   c                   C   sT   t ttddƒ t ttddƒ t ttg dƒ t ttg dƒ t ttdƒ t ttdƒ d S )Nó   ï»¿Ã©Úinvalidõ   Ã©)r   ÚLookupErrorr   r   r   r	   r
   r   r   r   r   r   Útest_invalid_labelC   s   r-   c                   C   s¨  t ddƒdtdƒfksJ ‚t dtdƒƒdtdƒfksJ ‚t ddƒdtdƒfks)J ‚t dtƒdtdƒfks6J ‚t ddƒdtdƒfksCJ ‚t d	dƒdtdƒfksPJ ‚t d
dƒdtdƒfks]J ‚t ddƒdtdƒfksjJ ‚t ddƒdtdƒfkswJ ‚t ddƒdtdƒfks„J ‚t ddƒdtdƒfks‘J ‚t ddƒdtdƒfksžJ ‚t ddƒdtdƒfks«J ‚t ddƒdtdƒfks¸J ‚t ddƒdtdƒfksÅJ ‚t ddƒdtdƒfksÒJ ‚d S )Nó   €r   u   â‚¬ó   Ã©r   r+   Úasciiõ   ÃƒÂ©r)   ó   þÿ éúutf-16beó   ÿþé úutf-16les   þÿé u   î¤€s   ÿþ éó    ézUTF-16BEó   é zUTF-16LEzUTF-16)r   r   r   r   r   r   r   Útest_decodeL   s    r8   c                   C   sp   t ddƒdks	J ‚t ddƒdksJ ‚t ddƒdksJ ‚t ddƒdks$J ‚t ddƒdks-J ‚t dd	ƒd
ks6J ‚d S )Nr+   r   ó   ér   r/   úutf-16r7   r5   r3   r6   )r   r   r   r   r   Útest_encodeb   s   r;   c                  C   sl  dd„ } | g dƒdksJ ‚| dgdƒdksJ ‚| dgdƒdks!J ‚| dgdƒd	ks+J ‚| d
dgdƒd	ks6J ‚| ddgdƒd	ksAJ ‚| dgdƒdksKJ ‚| dgdƒdksUJ ‚| g d¢dƒdks`J ‚| g d¢dƒdkskJ ‚| g d¢dƒdksvJ ‚| dgdƒdks€J ‚| dgdƒdksŠJ ‚| dgdƒdks”J ‚| dgdƒdksžJ ‚| g d¢dƒdks©J ‚| g d¢dƒdks´J ‚d S )Nc                 S   s   t | |ƒ\}}d |¡S )Nr   )r   Újoin)ÚinputÚfallback_encodingr$   Ú	_encodingr   r   r   Úiter_decode_to_stringl   s   
z/test_iter_decode.<locals>.iter_decode_to_stringr   r   r   r9   r+   s   helloÚhellos   heó   llos   helló   or/   r1   r)   )ó   ï»¿ó   Ãó   ©)rD   ó   arE   u   aï¿½)r   ó   ïr   r   s   »¿ÃrF   rD   s   ï»u   Ã¯Â»r2   r4   )r   ó   ÿr   r   s   þéó    )r   s   hérB   úx-user-definedu   hïŸ©llor   )r@   r   r   r   Útest_iter_decodek   sL   ÿÿÿÿÿÿÿÿÿÿrL   c                   C   sÜ   d  tg dƒ¡dksJ ‚d  tdgdƒ¡dksJ ‚d  tdgdƒ¡dks&J ‚d  tg d¢dƒ¡dks4J ‚d  tg d¢dƒ¡dksBJ ‚d  tg d¢d	ƒ¡dksPJ ‚d  tg d¢d
ƒ¡dks^J ‚d  tg d¢dƒ¡dkslJ ‚d S )Nr   r   r   r+   r9   )r   r+   r   r   r:   r7   r5   r3   r6   )r   u   hïŸ©r   ÚllorK   s   héllo)r<   r	   r   r   r   r   Útest_iter_encode‡   s   ÿÿrN   c                  C   s@   d} d}d} d}t | dƒ|tdƒfksJ ‚t|dƒ| ksJ ‚d S )Ns   2,OÙ#ËÉ»tÏ¨Êu   2,OïŸ™#ïŸ‹ïŸ‰ïž»tïŸ�ïž¨ïŸŠs   aaÚaarK   )r   r   r   )ÚencodedÚdecodedr   r   r   Útest_x_user_defined“   s   rR   N)Ú__doc__Ú
__future__r   r   r   r   r   r   r   r	   r
   r   r   r   r   r(   r-   r8   r;   rL   rN   rR   r   r   r   r   Ú<module>   s   ,			