U
    /e                     @   s6  U d Z ddlZddlZddlmZ ddlmZmZ ddlZddlm	Z
 ddlmZ ddlmZmZ e
d Zeed	< G d
d dZeje G dd dZeje ejjedkdddd Zejjedkdddd Zejjedkdddd Zejjedkdddd Zejjedkdddd ZdS )z"Test suite for our JSON utilities.    N)
a2b_base64)datedatetime)version_info   )jsonutil)encode_images
json_cleanJUPYTER_CLIENT_MAJOR_VERSIONc                   @   s   e Zd Zdd ZdS )MyIntc                 C   s   dS )N   selfr   r   A/tmp/pip-unpacked-wheel-g43y689f/ipykernel/tests/test_jsonutil.py__int__   s    zMyInt.__int__N)__name__
__module____qualname__r   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd ZdS )MyFloatc                 C   s   dS )NQ	@r   r   r   r   r   	__float__   s    zMyFloat.__float__N)r   r   r   r   r   r   r   r   r      s   r      zjson_clean is a no-op)reasonc                  C   s   ddddddddgd fd	ddgfddhddgft dd
d fddddgddd fdd tdD dddgftddgddgftddddddftddddft dft dfg} | D ]8\}}|d kr|}t|}||kstt	
t	| qd S )N)   N)g      ?N)aN)TN)FN)NNr   r   )r   r   )x   int)r   y1c                 s   s   | ]
}|V  qd S )Nr   ).0r   r   r   r   	<genexpr>6   s     ztest.<locals>.<genexpr>r   i  r      z1991-07-03T12:00:00.000000z1991-07-03T00:00:00.000000r   r   )dictrangeiterr   r   r   r   r	   AssertionErrorjsonloadsdumps)pairsvalZjvaloutr   r   r   test$   s0    

r.   c            
      C   s   d} d}d}d}| |||d}t t|}| D ] \}}t|| }||ks2tq2t t|}	||	kslt| D ] \}}t|| }||ksttqtd S )Ns(   PNG

blahblahnotactuallyvalidIENDB`s    JFIFblahblahjpeg(sC   %PDF-1.
trailer<</Root<</Pages<</Kids[<</MediaBox[0 0 3 3]>>]>>>>>>s   )z	image/pngz
image/jpegzapplication/pdfzapplication/unrecognized)r	   r   itemsr   r'   )
ZpngdataZjpegdataZpdfdataZbindatafmtencodedkeyvaluedecodedZencoded2r   r   r   test_encode_imagesH   s$    r5   c                	   C   s&   t t tdd  W 5 Q R X d S )Nc                   S   s   dS )Nr   r   r   r   r   r   <lambda>f       ztest_lambda.<locals>.<lambda>pytestZraises
ValueErrorr	   r   r   r   r   test_lambdac   s    r;   c               
   C   s@   ddddddg} | D ]"}t t t| W 5 Q R X qd S )Nnumberstring)r   r    bool)TTruer8   )Z	bad_dictsdr   r   r   test_exceptioni   s    rA   c                  C   s"   ddi} t | }| |kstd S )Nu   üniço∂e)r   r	   r'   )datacleanr   r   r   test_unicode_dictt   s    
rD   )__doc__r(   Znumbersbinasciir   r   r   r9   Zjupyter_client._versionr   Zjupyter_client_version r   r   r	   r
   r   __annotations__r   Integralregisterr   RealmarkZskipifr.   r5   r;   rA   rD   r   r   r   r   <module>   s.   
#



