
    g                     v    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y)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                 F    	  ||i | t        d| z        # | $ r Y y w xY w)NzDid not raise %s.)AssertionError)	exceptionfunctionargskwargss       Q/var/www/html/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/tests.pyassert_raisesr      s;    >$!&! 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 y )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      sR   '?7***'?7***'?7***&>')))&>')))'?7***- %%000$<)$$$*""n444,$$666(  N222(  N222)$$$)$$$r   c                  `   t         D ]  } t        d|       dt        |       fk(  sJ t        d|       dk(  sJ dD ]C  }t	        dg|z  |       \  }}t        |      g k(  sJ t        t        dg|z  |             g k(  rCJ  t        |       }|j                  d      dk(  sJ |j                  dd      dk(  sJ t        |       }|j                  d      dk(  sJ |j                  dd      dk(  rJ  t        t        j                               D ]  }t        |      j                  |k(  rJ  y )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   sK    5c5!b&-%8888b% C'''  	AF#SEFNE:IFA<2%%%RD6M59:b@@@	A %U+~~c"b(((~~c~."444$U+~~b!S(((~~b~-4445 FMMO$ )d|  D((()r   c                     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       y )N   ﻿éinvalid   é)r   LookupErrorr   r   r	   r
   r   r   r   r   r   test_invalid_labelr2   C   sU    +v'>	J+vtY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 y )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@(AAAA'6(+,x8H0IIII+v&4*@@@@+t$vf~(>>>>+w'FF7O+DDDD)73fVn7MMMM%w/D&:L3MMMM%w/D&:L3MMMM%w/HfZ>P3QQQQ%w/HfZ>P3QQQQ+z*tVJ5G.HHHH+z*tVJ5G.HHHH+x(T6*3E,FFFF+z*x
9K.LLLL+z*x
9K.LLLL+x(Xvj7I,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 y )Nr0   r      r   r5   utf-16r=   r;   r9   r<   )r   r   r   r   test_encoderB   b   s    $!W,,,$;...$;...$![000$
#{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 y )Nc                 B    t        | |      \  }}dj                  |      S )Nr    )r	   join)inputfallback_encodingr(   	_encodings       r   iter_decode_to_stringz/test_iter_decode.<locals>.iter_decode_to_stringl   s"    '/@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 #1R777 'H5=== (X6'AAA %(;wFFF '4(;wFFF +9VCCC "9!:HEMMM  "+,469=> > >  "()136?@ @ @  ":;CEHLM M M /!2H=CCC +9VCCC "5!6ATIII "5!6ATIII  "67?ADHI I I  " 025AB B Br   c                     dj                  t        g d            dk(  sJ dj                  t        dgd            dk(  sJ dj                  t        dgd            dk(  sJ dj                  t        g dd            dk(  sJ dj                  t        g dd            dk(  sJ dj                  t        g dd	            dk(  sJ dj                  t        g dd
            dk(  sJ dj                  t        g dd            dk(  sJ y )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88Kh/0C77788K12g===88K 2H=>'III88K 2H=>+MMM88K 2J?@KOOO88K 2J?@KOOO88K !"#35 69DE E Er   c                  n    d} d}d} d}t        | d      |t        d      fk(  sJ t        |d      | k(  sJ y )Ns   2,O#ɻtϨu   2,O#ts   aaaarT   )r   r   r   )encodeddecodeds     r   test_x_user_definedr]      sM    BGOGGG'+,&AQ:R0SSSS'+,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`      sN   
 (= = =>%&)&>K,3B8	E8r   