a
    ibòf£  ã                   @   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   s8   z||i |¤Ž W n | y&   Y d S 0 t d|  ƒ‚d S )NzDid not raise %s.)ÚAssertionError)Ú	exceptionÚfunctionÚargsÚkwargs© r   ú[/home/httpd/docs/test/DocsMgr/lib/python3.9/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s6J ‚t dƒjdksHJ ‚t dƒjdksZJ ‚t dƒjdkslJ ‚t dƒjdks~J ‚t dƒd u sŽJ ‚t dƒd u 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ƒ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Úlatin1ZLATIN1zlatin-1u   LATÄ°N1)r   Únamer   r   r   r   Útest_labels   s    r   c                  C   s  t D ]Ú} td| ƒdt| ƒfks"J ‚td| ƒdks4J ‚dD ]D}tdg| | ƒ\}}t|ƒg ks`J ‚ttdg| | ƒƒg ks8J ‚q8t| ƒ}| d¡dks˜J ‚|jddd�dks®J ‚t| ƒ}| d¡dksÈJ ‚|jddd�dksJ ‚qt	t  
¡ ƒD ]}t|ƒj|ksìJ ‚qìd 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s8J ‚t ddƒdtdƒfksRJ ‚t dtƒdtdƒfkslJ ‚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 ‚t ddƒdtdƒfk�sBJ ‚t ddƒdtdƒfk�s^J ‚t ddƒdtdƒfk�szJ ‚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     r7   c                   C   sp   t ddƒdksJ ‚t ddƒdks$J ‚t ddƒdks6J ‚t ddƒdksHJ ‚t ddƒdksZJ ‚t dd	ƒd
kslJ ‚d S )Nr*   r   ó   ér   r.   úutf-16r6   r4   r2   r5   )r   r   r   r   r   Útest_encodeb   s    r:   c                  C   sx  dd„ } | g dƒdksJ ‚| dgdƒdks.J ‚| dgdƒdksBJ ‚| dgdƒd	ksVJ ‚| d
dgdƒd	kslJ ‚| d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 ‚| g d¢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gdƒdk�sDJ ‚| g d¢dƒdk�s\J ‚| g d¢dƒdk�stJ ‚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   r8   r*   s   helloZhellos   heó   llos   helló   or.   r0   r(   )ó   ï»¿ó   Ãó   ©)rB   ó   arC   u   aï¿½)r   ó   ïr   r   s   »¿ÃrD   rB   s   ï»u   Ã¯Â»r1   r3   )r   ó   ÿr   r   s   þéó    )r   s   hér@   úx-user-definedu   hïŸ©llor   )r?   r   r   r   Útest_iter_decodek   sL    ÿÿÿÿÿÿÿÿ
ÿÿrJ   c                   C   sÜ   d  tg dƒ¡dksJ ‚d  tdgdƒ¡dks2J ‚d  tdgdƒ¡dksLJ ‚d  tg d¢dƒ¡dkshJ ‚d  tg d¢dƒ¡dks„J ‚d  tg d¢d	ƒ¡dks J ‚d  tg d¢d
ƒ¡dks¼J ‚d  tg d¢dƒ¡dksØJ ‚d S )Nr   r   r   r*   r8   )r   r*   r   r   r9   r6   r4   r2   r5   )r   u   hïŸ©r   ZllorI   s   héllo)r;   r	   r   r   r   r   Útest_iter_encode‡   s    ÿÿrK   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   aaZaarI   )r   r   r   )ÚencodedÚdecodedr   r   r   Útest_x_user_defined“   s    rN   N)Ú__doc__Ú
__future__r   r   r   r   r   r   r   r	   r
   r   r   r   r   r'   r,   r7   r:   rJ   rK   rN   r   r   r   r   Ú<module>   s   ,			