
    "Ie!                     N    d dl Z d dlZd dlmZ d dlZd dlmZmZ  G d de      Z	y)    N)TestCase)	text_typebc                   *    e Zd Zd Zd Zd Zd Zd Zy)
TestErrorsc                     dddddg}	 t        j                  |       | j                  d       | j                  t              d       y # t        $ r t	        j
                         d   }Y >w xY w)	NA)      g      @zD tuple)ar   c)dExpected TypeError   z5keys must be str, int, float, bool or None, not tuplejsondumpsfail	TypeErrorsysexc_infoassertEqualstr)selfdataerrs      >/usr/lib/python3/dist-packages/simplejson/tests/test_errors.pytest_string_keys_errorz!TestErrors.test_string_keys_error   sl    S)DE	,JJt II*+SG	I	  	$,,.#C	$s   A  A/.A/c                     	 t        j                  t                | j                  d       | j                  t              d       y # t        $ r t	        j
                         d   }Y >w xY w)Nr   r   z.Object of type module is not JSON serializabler   r   r   s     r   test_not_serializablez TestErrors.test_not_serializable   s[    	,JJt II*+S@	B	  	$,,.#C	$s   A  A+*A+c                    d }	 t        j                  d       | j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       y # t         j                  $ r t	        j
                         d   }Y w xY w)N{}
a
bExpected JSONDecodeErrorr   r
      )r   loadsr   JSONDecodeErrorr   r   r   linenocolno	endlinenoendcolnor    s     r   test_decode_errorzTestErrors.test_decode_error   s    	2JJz" II01Q'A&*q) ## 	$,,.#C	$s   B *CCc                 T   d }t         t        fD ]g  }	 t        j                   |d             | j	                  d       | j                  |j                  d       | j                  |j                  d       i y # t        j
                  $ r t        j                         d   }Y gw xY w)Nz
{"asdf": "r$   r   
   )r   r   r   r&   r   r'   r   r   r   r(   r)   )r   r   ts      r   test_scan_errorzTestErrors.test_scan_error*   s    Q 	,A6

1\?+ 		45SZZ+SYY+	, '' (llnQ'(s   A::*B'&B'c                 :   d }	 t        j                  d       | j                  d       t        j                  |      }t        j                  |      }| j                  |j                  |j                         | j                  |j                  |j                         | j                  |j                  |j                         | j                  |j                  |j                         y # t         j                  $ r t	        j
                         d   }Y w xY w)Nr#   r$   r   )r   r&   r   r'   r   r   pickler   r   msgdocposend)r   r   ses       r   test_error_is_pickablez!TestErrors.test_error_is_pickable6   s    	2JJz" II01LLLLO!%%(!%%(!%%(!%%( ## 	$,,.#C	$s   C- -*DDN)__name__
__module____qualname__r   r!   r,   r0   r9        r   r   r      s    	IB*
,)r>   r   )
r   r2   unittestr   
simplejsonr   simplejson.compatr   r   r   r=   r>   r   <module>rB      s       *=) =)r>   