3
LY                 @   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   y||| W n | k
r"   d S X t d|  d S )NzDid not raise %s.)AssertionError)	exceptionfunctionargskwargs r   q/private/var/folders/7d/20zwc49s3kn54d3vgq8bd4640000gn/T/pip-build-an2lx5zf/pip/pip/_vendor/webencodings/tests.pyassert_raises   s
    r   c               C   s  t djdkstt djdks$tt djdks6tt djdksHtt djdksZtt djdksltt djdks~tt dd kstt dd kstt d	jd
kstt djd
kstt djd
kstt djd
kstt dd kstt dd kst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   r   test_labels   s    r   c              C   s  xt D ]} td| dt| fks$ttd| dks6txLdD ]D}tdg| | \}}t|g ksdtttdg| | g ks<tq<W t| }|jddkst|jddddkstt	| }|jddkst|jddddkstqW x&t
t j D ]}t|j|kstqW d S )	N     r   r      T)final)r   r   r   )r   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 )Ns   ﻿é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tt dtddtdfks8tt dddtdfksRtt dtdtdfksltt dddtdfkstt d	ddtdfkstt d
ddtdfkstt dddtdfkstt dddtdfkstt dddtdfks
tt dddtdfks&tt dddtdfksBtt dddtdfks^tt dddtdfksztt dddtdfkstt dddtdfkstd S )N   r   u   €s   ér   r)   asciiu   Ã©s   ﻿és    zutf-16bes    zutf-16les    u   s    s    zUTF-16BEs    zUTF-16LEzUTF-16)r   r   r   r   r   r   r   r   test_decodeL   s     r.   c               C   sp   t dddkstt dddks$tt dddks6tt dddksHtt dddksZtt dd	d
ksltd S )Nr)   r      r   s   ézutf-16s    zutf-16lezutf-16bes    )r   r   r   r   r   r   test_encodeb   s    r0   c              C   s  dd } | g ddkst | dgddks.t | dgddksBt | dgdd	ksVt | d
dgdd	kslt | ddgdd	kst | dgddkst | dgddkst | dddgddkst | dddgddkst | ddddddgddkst | dgddkst | dgddks$t | dgddks:t | dgddksPt | ddddddgddkspt | dddgd d!kst d S )"Nc             S   s   t | |\}}dj|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   r/   r)   s   helloZhellos   hes   llos   hell   os   éu   Ã©s   ﻿és   ﻿         au   a�   s   s   u   ï»s    s       s       s   hzx-user-definedu   hllo)r   )r5   r   r   r   test_iter_decodek   s.    r=   c               C   s   dj tg ddkstdj tdgddks2tdj tdgddksLtdj tddddgddksltdj tddddgddkstdj tddddgddkstdj tddddgd	d
kstdj tddddgddkstd S )Nr   r   r   r)   r/   zutf-16s    zutf-16lezutf-16bes    u   hZllozx-user-defineds   hllo)r1   r	   r   r   r   r   r   test_iter_encode   s        r>   c              C   s@   d} d}d} d}t | d|tdfks*tt|d| ks<td S )Ns   2,O#ɻtϨu   2,O#ts   aaZaazx-user-defined)r   r   r   r   )encodeddecodedr   r   r   test_x_user_defined   s    rA   N)__doc__
__future__r   r   r   r   r   r   r   r	   r
   r   r   r   r   r'   r+   r.   r0   r=   r>   rA   r   r   r   r   <module>   s   ,			