
    4j                     V    S SK r S SKrS SKrS SKJr  S SKrS SKJrJr   " S S\5      r	g)    N)TestCase)	text_typebc                      \ rS rSrS rS rS rS rS r\	R                  " \R                  S:  S5      S	 5       r\	R                  " \R                  S:  S5      S
 5       r\	R                  " \R                  S:  S5      S 5       rSrg)
TestErrors   c                     SSSSS./n [         R                  " U5        U R                  S5        U R                  [        W5      S5        g ! [         a    [        R
                  " 5       S   n N@f = f)	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      [/root/lseg-credit/backend/venv/lib/python3.13/site-packages/simplejson/tests/test_errors.pytest_string_keys_error!TestErrors.test_string_keys_error	   sl    S)DE	,JJt II*+SG	I	  	$,,.#C	$s   A "A21A2c                      [         R                  " [         5        U R                  S5        U R                  [        W5      S5        g ! [         a    [        R
                  " 5       S   n N@f = f)Nr   r   z.Object of type module is not JSON serializabler   r   r   s     r   test_not_serializable TestErrors.test_not_serializable   s[    	,JJt II*+S@	B	  	$,,.#C	$s   A	 	"A.-A.c                    S n [         R                  " S5        U R                  S5        U R                  UR                  S5        U R                  UR                  S5        U R                  UR                  S5        U R                  UR                  S5        g ! [         R                   a    [        R
                  " 5       S   n Nf = f)N{}
a
bExpected JSONDecodeErrorr   r      )r   loadsr   JSONDecodeErrorr   r   r   linenocolno	endlinenoendcolnor"   s     r   test_decode_errorTestErrors.test_decode_error   s    	2JJz" II01Q'A&*q) ## 	$,,.#C	$s   B ,C
Cc                 ^   S n[         [        4 Hi  n [        R                  " U" S5      5        U R	                  S5        U R                  UR                  S5        U R                  UR                  S5        Mk     g ! [        R
                   a    [        R                  " 5       S   n Nkf = f)Nz
{"asdf": "r'   r   
   )r   r   r   r)   r   r*   r   r   r   r+   r,   )r   r   ts      r   test_scan_errorTestErrors.test_scan_error+   s    QA6

1\?+ 		45SZZ+SYY+   '' (llnQ'(s   A==,B,+B,c                 D   S n [         R                  " S5        U R                  S5        [        R                  " U5      n[        R                  " U5      nU R                  UR                  UR                  5        U R                  UR                  UR                  5        U R                  UR                  UR                  5        U R                  UR                  UR                  5        g ! [         R                   a    [        R
                  " 5       S   n Nf = f)Nr&   r'   r   )r   r)   r   r*   r   r   pickler   r   msgdocposend)r   r   ses       r   test_error_is_pickable!TestErrors.test_error_is_pickable7   s    	2JJz" II01LLLLO!%%(!%%(!%%(!%%( ## 	$,,.#C	$s   C0 0,DD)r(      zadd_note requires Python 3.11+c                     / nUR                  U5         [        R                  " U5        U R                  S5        g ! [         a'  nU R                  UR                  S/5         S nAg S nAff = f)NExpected ValueErrorzwhen serializing list item 0)appendr   r   r   
ValueErrorr   	__notes__r   xexcs      r   test_add_note_list_recursion'TestErrors.test_add_note_list_recursionG   sg    		-JJqM
 II+,	  	A >?A A	As   = 
A.A))A.c                     0 nXS'    [         R                  " U5        U R                  S5        g ! [         a'  nU R	                  UR
                  S/5         S nAg S nAff = f)NtestrB   z!when serializing dict item 'test')r   r   r   rD   r   rE   rF   s      r   test_add_note_dict_recursion'TestErrors.test_add_note_dict_recursionS   sc    &		-JJqM
 II+,	  	F CDF F	Fs   0 
A!AA!c                     [         R                  " SS[        5       S/05        U R                  S5        g ! [         a  nU R                  [        UR                  5      S5        U R                  UR                  S   S5        U R                  UR                  S   S5        U R                  UR                  S   S	5         S nAg S nAff = f)
Nr   r   r(   r   r   zwhen serializing object objectzwhen serializing list item 1r   zwhen serializing dict item 'a')r   r   objectr   r   r   lenrE   )r   rH   s     r   test_add_note_nested_error%TestErrors.test_add_note_nested_error_   s    	,JJa1-./ II*+  	2S/3S]]1-02S]]1-.0S]]1-02 2	2s   #7 
CBCC N)__name__
__module____qualname____firstlineno__r   r#   r/   r4   r>   unittestskipIfr   version_inforI   rM   rR   __static_attributes__rT       r   r   r      s    	IB*
,)  __S%%/1QR	- S	- __S%%/1QR	- S	- __S%%/1QR, S,r]   r   )
r   r7   rY   r   
simplejsonr   simplejson.compatr   r   r   rT   r]   r   <module>r`      s"        *d, d,r]   