
    daf                      f    d dl mZ  G d d      Z G d de      Z G d de      Z G d d	e      Zy
)    )CTestc                       e Zd Zd Zy)BadBoolc                     ddz   y N   r    selfs    7/root/Python-3.12.4/Lib/test/test_json/test_speedups.py__bool__zBadBool.__bool__   s	    	!    N)__name__
__module____qualname__r   r	   r   r   r   r      s    r   r   c                       e Zd Zd Zd Zy)TestSpeedupsc                    | j                  | j                  j                  j                  j                  d       | j                  | j                  j                  j                  | j                  j                  j                         y N_json)assertEqualjsondecoder
scanstringr   assertIsc_scanstringr
   s    r   test_scanstringzTestSpeedups.test_scanstring
   sV    **55@@'Jdii''22DII4E4E4R4RSr   c                    | j                  | j                  j                  j                  j                  d       | j                  | j                  j                  j                  | j                  j                  j                         y r   )r   r   encoderencode_basestring_asciir   r   c_encode_basestring_asciir
   s    r   test_encode_basestring_asciiz)TestSpeedups.test_encode_basestring_ascii   s]    **BBMM 	"dii''??ii''AA	Cr   N)r   r   r   r   r"   r	   r   r   r   r   	   s    TCr   r   c                       e Zd Zd Zd Zy)
TestDecodec                 n    | j                  t        | j                  j                  j                  d       y )Nr   )assertRaisesAttributeErrorr   scannerc_make_scannerr
   s    r   test_make_scannerzTestDecode.test_make_scanner   s$    .$))*;*;*J*JANr   c                 l      fd} j                  t        |d        j                  t        |d       y )Nc                     j                   j                  j                  t                     j	                  |        y )N)strict)r   r   JSONDecoderr   decode)valuer   s    r   testz+TestDecode.test_bad_bool_args.<locals>.test   s+    II)));BB5Ir   z""z{}r&   ZeroDivisionErrorr   r1   s   ` r   test_bad_bool_argszTestDecode.test_bad_bool_args   s/    	J+T48+T48r   N)r   r   r   r*   r5   r	   r   r   r$   r$      s    O9r   r$   c                   *    e Zd Zd Zd Zd Zd Zd Zy)
TestEncodec                 r    | j                  t        | j                  j                  j                  ddd        y )N)TFs   }=NLyR'J}u)r&   	TypeErrorr   r   c_make_encoderr
   s    r   test_make_encoderzTestEncode.test_make_encoder!   s/     	)TYY%6%6%E%E[	r   c                    d }| j                   j                  j                  d d |d ddddd	      }| j                  t              5   |dd       d d d        | j                  t              5   |ddid       d d d        d	 }| j                   j                  j                  d d
 |d ddddd	      }| j                  t
              5   |dd       d d d        y # 1 sw Y   xY w# 1 sw Y   nxY w# 1 sw Y   y xY w)Nc                       y Nr	   argss    r   bad_encoder1z5TestEncode.test_bad_str_encoder.<locals>.bad_encoder1,   s    r   c                     t        |       S r>   strobjs    r   <lambda>z1TestEncode.test_bad_str_encoder.<locals>.<lambda>.   
    S r   : , Fspam   *   c                      ddz   y r   r	   r?   s    r   bad_encoder2z5TestEncode.test_bad_str_encoder.<locals>.bad_encoder26   s	    aCr   c                     t        |       S r>   rC   rE   s    r   rG   z1TestEncode.test_bad_str_encoder.<locals>.<lambda>8   rH   r   )r   r   r:   r&   r9   r3   )r   rA   encrO   s       r   test_bad_str_encoderzTestEncode.test_bad_str_encoder)   s    	ii..t5I/;T4/4eUD y) 	N	y) 	!a 	!	ii..t5I/;T4/4eUD 01 	N	 		 		! 	!	 	s$   
C.C'
C3C$'C03C<c                     | j                  t        d      5  | j                  j                  j	                  dd d d ddddd	       d d d        y # 1 sw Y   y xY w)Nz9make_encoder\(\) argument 1 must be dict or None, not intr   rI   rJ   F)assertRaisesRegexr9   r   r   r:   r
   s    r   $test_bad_markers_argument_to_encoderz/TestEncode.test_bad_markers_argument_to_encoder>   s]    ##H
 	B II,,QdD$-2E5B		B 	B 	Bs   .AAc                       fd} j                  t        |d        j                  t        |d        j                  t        |d        j                  t        |d        j                  t        |d       y )Nc                      j                   j                  j                  di | t               ij	                  ddi       y )Nar   r	   )r   r   JSONEncoderr   encode)namer   s    r   r1   z+TestEncode.test_bad_bool_args.<locals>.testH   s6    )DII))>T79,=>EEsAhOr   skipkeysensure_asciicheck_circular	allow_nan	sort_keysr2   r4   s   ` r   r5   zTestEncode.test_bad_bool_argsG   si    	P+T:>+T>B+T3CD+T;?+T;?r   c                     | j                  t              5  | j                  j                  j	                  d      j                  ddd       d d d        y # 1 sw Y   y xY w)NT)r`   r   rX   )rX   r   )r&   r9   r   r   rY   rZ   r
   s    r   test_unsortable_keyszTestEncode.test_unsortable_keysP   sT    y) 	SII))D)9@@qSAQR	S 	S 	Ss   9AA!N)r   r   r   r;   rR   rU   r5   rb   r	   r   r   r7   r7       s    *B@Sr   r7   N)test.test_jsonr   r   r   r$   r7   r	   r   r   <module>rd      s:      
	C5 	C9 92S 2Sr   