B
    U[                 @   s   d Z ddlmZ ddlZddlmZ ddlZddlmZ ddl	m
Z
 ddl
mZmZ ddlmZ G d	d
 d
eZeje G dd deZeje dd Zdd Zdd Zdd Zdd ZdS )z"Test suite for our JSON utilities.    )
a2b_base64N)datetime   )jsonutil)
json_cleanencode_images)unicode_to_strc               @   s   e Zd Zdd ZdS )MyIntc             C   s   dS )Ni   )selfr
   r
   <lib/python3.7/site-packages/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 )NgQ	@r
   )r   r
   r
   r   	__float__   s    zMyFloat.__float__N)r   r   r   r   r
   r
   r
   r   r      s   r   c              C   s   ddddddddgd fd	ddgft ddg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ft dfg} x@| D ]8\}}|d kr|}t|}||kstt	
t	| qW d 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>.   s    ztest.<locals>.<genexpr>r   i        z1991-07-03T12:00:00.000000gQ	@i  )setdictrangeiterr   r   r	   r   AssertionErrorjsonloadsdumps)ZpairsvalZjvaloutr
   r
   r   test   s,    

r(   c              C   s   d} d}d}d}| |||d}t t|}x,| D ] \}}t|| }||ks4tq4W t t|}	||	kspti }
x | D ]\}}t||
|< q~W t t|
}||
kstx,| D ] \}}t|| }||kstqW d 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"   r   )ZpngdataZjpegdataZpdfdataZbindataZfmtZencodedkeyvalueZdecodedZencoded2Zb64_strZencoded3r
   r
   r   test_encode_images?   s,    r,   c            	   C   s&   t t tdd  W d Q R X d S )Nc               S   s   dS )Nr   r
   r
   r
   r
   r   <lambda>`   s    ztest_lambda.<locals>.<lambda>)ntassert_raises
ValueErrorr   r
   r
   r
   r   test_lambda^   s    r1   c              C   s4   ddddddg} x| D ]}t tt| qW d S )NZnumberstring)r   r   bool)TTrue)r.   r/   r0   r   )Z	bad_dictsdr
   r
   r   test_exceptionc   s    
r6   c              C   s"   ddi} t | }| |kstd S )Nu   üniço∂e)r   r   r"   )dataZcleanr
   r
   r   test_unicode_dictk   s    
r8   )__doc__Zbinasciir   r#   r   ZnumbersZ
nose.toolsZtoolsr.    r   r   r   Zipython_genutils.py3compatr   objectr	   ZIntegralregisterr   ZRealr(   r,   r1   r6   r8   r
   r
   r
   r   <module>   s"   !