
    /h                     x    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 Zd Zd Zd Zd	 Zd
 Zd Zd Z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                 P    	  ||i | t          d| z            # | $ r Y d S w xY w)NzDid not raise %s.)AssertionError)	exceptionfunctionargskwargss       Q/var/www/html/venv/lib/python3.11/site-packages/pip/_vendor/webencodings/tests.pyassert_raisesr      sV    >$!&!!! 09<===    s    %%c                     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    sJ t          d          j        dk    sJ t          d          J t          d          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 t          d          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   name     r   test_labelsr      s~   '??7****'??7****'??7****&>>'))))&>>'))))'??7****-  %0000$<<)$$$*"n4444,$6666( N2222( N2222)$$$)$$$$$r   c                     t           D ]$} t          d|           dt          |           fk    sJ t          d|           dk    sJ dD ]U}t	          dg|z  |           \  }}t          |          g k    sJ t          t          dg|z  |                     g k    sJ Vt          |           }|                    d          dk    sJ |                    dd          dk    sJ t          |           }|                    d          dk    sJ |                    dd          dk    sJ &t          t          j
                              D ]}t          |          j        |k    sJ d S )Nr    )r   r      T)final)r   r   r   r   r	   listr
   r   r   setvaluesr   )labelrepeatoutput_decoderencoderr   s          r   test_all_labelsr,   0   s    5 5c5!!b&--%88888b%  C''''  	A 	AF#SEFNE::IFA<<2%%%%RD6M599::b@@@@@$U++~~c""b((((~~c~.."4444$U++~~b!!S((((~~b~--44444FMOO$$ ) )d|| D((((() )r   c                  R   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   test_invalid_labelr2   C   s    +v'>	JJJ+vtY777+{B	:::+{B	:::+19===+19=====r   c                     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    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    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   r0   ascii   Ã©r.       utf-16be    utf-16les    u   s        zUTF-16BE    zUTF-16LEzUTF-16)r   r   r   r   r   r   test_decoder>   L   s   '8$$x0@0@(AAAAA'6(++,,x8H8H0IIIII+v&&4*@@@@@+t$$vf~~(>>>>>+w''FF7OO+DDDDD)733fVnn7MMMMM%w//D&:L:L3MMMMM%w//D&:L:L3MMMMM%w//HfZ>P>P3QQQQQ%w//HfZ>P>P3QQQQQ+z**tVJ5G5G.HHHHH+z**tVJ5G5G.HHHHH+x((T6*3E3E,FFFFF+z**x
9K9K.LLLLL+z**x
9K9K.LLLLL+x((Xvj7I7I,JJJJJJJr   c                     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    sJ d S )Nr0   r      r   r5   utf-16r=   r;   r9   r<   )r   r   r   r   test_encoderB   b   s    $!!W,,,,$;....$;....$!![0000$
##{2222$
##{222222r   c                     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    sJ  | 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    sJ  | g dd          dk    sJ  | g dd          dk    sJ d S )Nc                 R    t          | |          \  }}d                    |          S )Nr    )r	   join)inputfallback_encodingr(   	_encodings       r   iter_decode_to_stringz/test_iter_decode.<locals>.iter_decode_to_stringl   s'    '/@AA	wwvr   r   r    r   r@   r0   s   hellohellos   he   llos   hell   or5   r7   r.   )   ﻿      )rM      arN   u   a�)r      r   r   s   rO   rM   s   u   ï»r8   r:   )r      r   r   s       )r   s   hrK   x-user-definedu   hllor   )rI   s    r   test_iter_decoderU   k   s      ! X.."4444  #11R7777  'H55====  (X66'AAAA  %(;;wFFFF  '4(;;wFFFF  +99VCCCC  "9!:HEEMMMM   "+ "+ "+,46 69=> > > >   "( "( "()13 36?@ @ @ @   ": ": ":;CE EHLM M M M  /!2H==CCCC  +99VCCCC  "5!6AATIIII  "5!6AATIIII   "6 "6 "67?A ADHI I I I   " " " 02 25AB B B B B Br   c                     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    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                     t          g dd                    dk    sJ d S )Nr   r   r    r0   r@   )r    r0   r    r    rA   r=   r;   r9   r<   )r    u   hr    llorT   s   hllo)rE   r
   r   r   r   test_iter_encoderX      s   88KH--..#555588Kh//00C777788K1122g====88K 2 2 2H==>>'IIII88K 2 2 2H==>>+MMMM88K 2 2 2J??@@KOOOO88K 2 2 2J??@@KOOOO88K !" !" !"#35 5 6 69DE E E E E Er   c                      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aarT   )r   r   r   )encodeddecodeds     r   test_x_user_definedr]      sb    BGOGGG'+,,&AQ:R:R0SSSSS'+,,777777r   N)__doc__
__future__r   r    r   r   r   r   r	   r
   r   r   r   r   r   r,   r2   r>   rB   rU   rX   r]   r   r   r   <module>r`      s+  
 
 ( ' ' ' ' '= = = = = = = = = = = = = = = = = = = = = => > >% % %&) ) )&> > >K K K,3 3 3B B B8	E 	E 	E8 8 8 8 8r   