
    <e                          d dl mZ  G d d          Z G d de          Z G d de          Z G d d	e          Zd
S )    )CTestc                       e Zd Zd ZdS )BadBoolc                     ddz   d S N   r    selfs    3/usr/lib/python3.11/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dS )TestSpeedupsc                     |                      | j        j        j        j        d           |                     | j        j        j        | j        j        j                   d S N_json)assertEqualjsondecoder
scanstringr   assertIsc_scanstringr
   s    r   test_scanstringzTestSpeedups.test_scanstring
   sM    *5@'JJJdi'2DI4E4RSSSSSr   c                     |                      | j        j        j        j        d           |                     | j        j        j        | j        j        j                   d S r   )r   r   encoderencode_basestring_asciir   r   c_encode_basestring_asciir
   s    r   test_encode_basestring_asciiz)TestSpeedups.test_encode_basestring_ascii   sd    *BM 	" 	" 	"di'?i'A	C 	C 	C 	C 	Cr   N)r   r   r   r   r"   r	   r   r   r   r   	   s:        T T TC C C C Cr   r   c                       e Zd Zd Zd ZdS )
TestDecodec                 \    |                      t          | j        j        j        d           d S )Nr   )assertRaisesAttributeErrorr   scannerc_make_scannerr
   s    r   test_make_scannerzTestDecode.test_make_scanner   s(    .$)*;*JANNNNNr   c                       fd}                      t          |d                                 t          |d           d S )Nc                     j         j                            t                                                    |            d S )N)strict)r   r   JSONDecoderr   decode)valuer   s    r   testz+TestDecode.test_bad_bool_args.<locals>.test   s7    I)));;BB5IIIIIr   z""z{}r&   ZeroDivisionErrorr   r1   s   ` r   test_bad_bool_argszTestDecode.test_bad_bool_args   sY    	J 	J 	J 	J 	J+T4888+T488888r   N)r   r   r   r*   r5   r	   r   r   r$   r$      s5        O O O9 9 9 9 9r   r$   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )
TestEncodec                 `    |                      t          | j        j        j        ddd            d S )N)TFs   }=NLyR'J}u)r&   	TypeErrorr   r   c_make_encoderr
   s    r   test_make_encoderzTestEncode.test_make_encoder!   s;     	)TY%6%E[	 	 	 	 	r   c                 ,   d }| j         j                            d d |d ddddd	  	        }|                     t                    5   |dd           d d d            n# 1 swxY w Y   |                     t                    5   |ddid           d d d            n# 1 swxY w Y   d	 }| j         j                            d d
 |d ddddd	  	        }|                     t
                    5   |dd           d d d            d S # 1 swxY w Y   d S )Nc                      d S Nr	   argss    r   bad_encoder1z5TestEncode.test_bad_str_encoder.<locals>.bad_encoder1,   s    4r   c                      t          |           S r>   strobjs    r   <lambda>z1TestEncode.test_bad_str_encoder.<locals>.<lambda>.       S r   : , Fspam   *   c                      ddz   d S r   r	   r?   s    r   bad_encoder2z5TestEncode.test_bad_str_encoder.<locals>.bad_encoder26   s    aCCCCr   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   	 	 	i..t5I5I/;T4/4eUD D y)) 	 	CNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	y)) 	! 	!Ca   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!	 	 	i..t5I5I/;T4/4eUD D 011 	 	CNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s6   AA#&A#BB#&B#/D		DDc                     |                      t          d          5  | j        j                            dd d d ddddd	  	         d d d            d S # 1 swxY w Y   d S )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 	B I,,QdD$-2E5B B B		B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	Bs   (AAAc                 *     fd}                      t          |d                                 t          |d                                 t          |d                                 t          |d                                 t          |d           d S )Nc                 |     j         j        j        di | t                      i                    ddi           d S )Nar   r	   )r   r   JSONEncoderr   encode)namer   s    r   r1   z+TestEncode.test_bad_bool_args.<locals>.testH   sB    )DI)>>T799,=>>EEsAhOOOOOr   skipkeysensure_asciicheck_circular	allow_nan	sort_keysr2   r4   s   ` r   r5   zTestEncode.test_bad_bool_argsG   s    	P 	P 	P 	P 	P+T:>>>+T>BBB+T3CDDD+T;???+T;?????r   c                     |                      t                    5  | j        j                            d                              ddd           d d d            d S # 1 swxY w Y   d S )NT)r`   r   rX   )rX   r   )r&   r9   r   r   rY   rZ   r
   s    r   test_unsortable_keyszTestEncode.test_unsortable_keysP   s    y)) 	S 	SI))D)99@@qSAQAQRRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	Ss   7AA#&A#N)r   r   r   r;   rR   rU   r5   rb   r	   r   r   r7   r7       sj            *B B B@ @ @S S S S Sr   r7   N)test.test_jsonr   r   r   r$   r7   r	   r   r   <module>rd      s                      
	C 	C 	C 	C 	C5 	C 	C 	C9 9 9 9 9 9 9 92S 2S 2S 2S 2S 2S 2S 2S 2S 2Sr   