U
    •¢]	  ã                   @   s‚   d Z ddlZddlZddddddœZe d	¡e d
¡ de d¡d diZG dd„ dejƒZG dd„ dejƒZe	dkr~e 
¡  dS )zTests for josepy.b64.é    N)s   YW55IGNhcm5hbCBwbGVhc3VyZS4ó   =)s   YW55IGNhcm5hbCBwbGVhc3VyZQó   ==)s   YW55IGNhcm5hbCBwbGVhc3Vyó    )s   YW55IGNhcm5hbCBwbGVhc3Ur   )s   YW55IGNhcm5hbCBwbGVhcwr   )s   any carnal pleasure.s   any carnal pleasures   any carnal pleasurs   any carnal pleasus   any carnal pleaséû   éï   s   --8éÿ   é   s   __8c                   @   s<   e Zd ZdZedd„ ƒZdd„ Zdd„ Zdd	„ Zd
d„ Z	dS )ÚB64EncodeTestzTests for josepy.b64.b64encode.c                 C   s   ddl m} ||ƒS )Nr   )Ú	b64encode)Ú
josepy.b64r
   )ÚclsÚdatar
   © r   ú1/usr/lib/python3/dist-packages/josepy/b64_test.pyÚ_call   s    zB64EncodeTest._callc                 C   s   |   |  d¡d¡ d S )Nr   ©ÚassertEqualr   ©Úselfr   r   r   Ú
test_empty   s    zB64EncodeTest.test_emptyc                 C   s*   t  t¡D ]\}}|  |  |¡|¡ q
d S ©N©ÚsixÚ	iteritemsÚB64_URL_UNSAFE_EXAMPLESr   r   ©r   ÚtextÚb64r   r   r   Útest_unsafe_url!   s    zB64EncodeTest.test_unsafe_urlc                 C   s.   t  t¡D ]\}\}}|  |  |¡|¡ q
d S r   ©r   r   ÚB64_PADDING_EXAMPLESr   r   ©r   r   r   Ú_r   r   r   Útest_different_paddings%   s    z%B64EncodeTest.test_different_paddingsc                 C   s   |   t| jd¡ d S )Nzsome unicode)ÚassertRaisesÚ	TypeErrorr   r   r   r   r   Ú"test_unicode_fails_with_type_error)   s    z0B64EncodeTest.test_unicode_fails_with_type_errorN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr   r   r   r#   r&   r   r   r   r   r	      s   
r	   c                   @   sL   e Zd ZdZedd„ ƒZdd„ Zdd„ Zdd	„ Zd
d„ Z	dd„ Z
dd„ ZdS )ÚB64DecodeTestzTests for josepy.b64.b64decode.c                 C   s   ddl m} ||ƒS )Nr   )Ú	b64decode)r   r-   )r   r   r-   r   r   r   r   0   s    zB64DecodeTest._callc                 C   s*   t  t¡D ]\}}|  |  |¡|¡ q
d S r   r   r   r   r   r   r   5   s    zB64DecodeTest.test_unsafe_urlc                 C   s.   t  t¡D ]\}\}}|  |  |¡|¡ q
d S r   r   r!   r   r   r   Útest_input_without_padding9   s    z(B64DecodeTest.test_input_without_paddingc                 C   s2   t  t¡D ]"\}\}}|  |  || ¡|¡ q
d S r   r   )r   r   r   Zpadr   r   r   Útest_input_with_padding=   s    z%B64DecodeTest.test_input_with_paddingc                 C   s   |   |  d¡d¡ d S )NZYQó   ar   r   r   r   r   Útest_unicode_with_asciiA   s    z%B64DecodeTest.test_unicode_with_asciic                 C   s   |   t| jd¡ d S )Nu   Ä…)r$   Ú
ValueErrorr   r   r   r   r   Útest_non_ascii_unicode_failsD   s    z*B64DecodeTest.test_non_ascii_unicode_failsc                 C   s   |   t| jtƒ ¡ d S r   )r$   r%   r   Úobjectr   r   r   r   Ú#test_type_error_no_unicode_or_bytesG   s    z1B64DecodeTest.test_type_error_no_unicode_or_bytesN)r'   r(   r)   r*   r+   r   r   r.   r/   r1   r3   r5   r   r   r   r   r,   -   s   
r,   Ú__main__)r*   Zunittestr   r    Zint2byter   ZTestCaser	   r,   r'   Úmainr   r   r   r   Ú<module>   s"   û
  þ