
    DUf0                         d dl mZ d dlZd dlZd dlmZ d dlZd dlmZmZmZ d dl	m
Z
mZmZ d Zd Z G d d	          Z G d
 de          Z G d de          ZdS )    )with_statementN)TestCase)encoderdecoderscanner)PY3	long_typebc                      t           j        d uS N)r   c_make_encoder     [/var/www/html/software/conda/lib/python3.11/site-packages/simplejson/tests/test_speedups.pyhas_speedupsr      s    !--r   c                       fd}|S )Nc                      t                      sJt          t          d          rt          j        d          t          j                            d           d S  | i |S )NSkipTestzC Extension not available)r   hasattrunittestr   sysstdoutwrite)argskwargsfuncs     r   wrapperz)skip_if_speedups_missing.<locals>.wrapper   sd    ~~ 	x,, '(CDDD
  !<===tT$V$$$r   r   )r   r   s   ` r   skip_if_speedups_missingr      s#    % % % % % Nr   c                       e Zd Zd ZeZdS )BadBoolc                     ddz   d S N   r   r   selfs    r   __bool__zBadBool.__bool__   s    	!r   N)__name__
__module____qualname__r&   __nonzero__r   r   r   r    r       s"          KKKr   r    c                   :    e Zd Zed             Zed             ZdS )
TestDecodec                 R    |                      t          t          j        d           d S )Nr#   )assertRaisesAttributeErrorr   c_make_scannerr$   s    r   test_make_scannerzTestDecode.test_make_scanner$   s#    .'*@!DDDDDr   c                     d }|                      t          |d           |                      t          |d           t          s:|                      t          |d           |                      t          |d           d S d S )Nc                 n    t          j        t                                                    |            d S )N)strict)r   JSONDecoderr    decode)values    r   testz+TestDecode.test_bad_bool_args.<locals>.test*   s.    wyy11188?????r   z""z{})r.   ZeroDivisionErrorr   r%   r8   s     r   test_bad_bool_argszTestDecode.test_bad_bool_args(   s    	@ 	@ 	@+T4888+T4888 	>/u===/u=====	> 	>r   N)r'   r(   r)   r   r1   r;   r   r   r   r,   r,   #   sM        E E E > > > > >r   r,   c                       e Zd Zed             Zed             Zed             Zed             Zered             Z	dS dS )
TestEncodec                 V    |                      t          t          j        d dd            d S )Nu   Í}=NLùy×Rºò'J} Êu)r.   	TypeErrorr   r   r$   s    r   test_make_encoderzTestEncode.test_make_encoder3   s8    "8	
 	
 	
 	
 	
r   c                    dd l }d }t          j        d d |d dddddi dddd d ddd|j        d          }|                     t
          |dd	           |                     t
          |dd
id	           d }t          j        d d |d dddddi dddd d ddd|j        d          }|                     t          |dd	           d S )Nr   c                      d S r   r   r   s    r   bad_encoder1z5TestEncode.test_bad_str_encoder.<locals>.bad_encoder1C   s    4r   c                      t          |           S r   strobjs    r   <lambda>z1TestEncode.test_bad_str_encoder.<locals>.<lambda>F       #c(( r   z: z, Fzutf-8spam   *   c                      ddz   d S r"   r   rC   s    r   bad_encoder2z5TestEncode.test_bad_str_encoder.<locals>.bad_encoder2M   s    aCCCCr   c                      t          |           S r   rF   rH   s    r   rJ   z1TestEncode.test_bad_str_encoder.<locals>.<lambda>P   rK   r   )decimalr   r   Decimalr.   r?   r9   )r%   rR   rD   encrP   s        r   test_bad_str_encoderzTestEncode.test_bad_str_encoder>   s    		 	 	$**dD$ueRudGUE7?E	K K
 	)S&!444)S62,:::	 	 	$**dD$ueRudGUE7?E	K K
 	+S&!<<<<<r   c                    d }|                      t          |d           |                      t          |d           |                      t          |d           |                      t          |d           |                      t          |d           |                      t          |d           |                      t          |d           |                      t          |d	           |                      t          |d
           |                      t          |d           |                      t          |d           |                      t          |d           d S )Nc                 j    t          j        di | t                      i                    i            d S )Nr   )r   JSONEncoderr    encode)names    r   r8   z+TestEncode.test_bad_bool_args.<locals>.testX   s6    444"344;;B?????r   skipkeysensure_asciicheck_circular	allow_nan	sort_keysuse_decimalnamedtuple_as_objecttuple_as_arraybigint_as_stringfor_json
ignore_naniterable_as_array)r.   r9   r:   s     r   r;   zTestEncode.test_bad_bool_argsV   sK   	@ 	@ 	@+T:>>>+T>BBB+T3CDDD+T;???+T;???+T=AAA+T3IJJJ+T3CDDD+T3EFFF+T:>>>+T<@@@+T3FGGGGGr   c                     t          d          dz  dz   fd}|                     t          t          f|           d S )N          c                  X    t          j                                       d           d S )N)int_as_string_bitcountr   )r   rX   rY   )
long_counts   r   r8   z=TestEncode.test_int_as_string_bitcount_overflow.<locals>.testj   s+    zBBBII!LLLLLr   )r	   r.   r?   OverflowError)r%   r8   rm   s     @r   $test_int_as_string_bitcount_overflowz/TestEncode.test_int_as_string_bitcount_overflowg   sW    q\\2%b(
	M 	M 	M 	M 	M9m4d;;;;;r   c                     |                      t                    5  t          j        d                              t          d          di           d d d            d S # 1 swxY w Y   d S )Nu   )encodingkey{   )r.   UnicodeEncodeErrorr   rX   rY   r
   r$   s    r   test_bad_encodingzTestEncode.test_bad_encodingo   s    ""#566 O O#X666==qxxoNNNO O O O O O O O O O O O O O O O O Os   8A  A$'A$N)
r'   r(   r)   r   r@   rU   r;   ro   r   ru   r   r   r   r=   r=   2   s        
 
 
 = = =. H H H  < < <  O	!	O 	O 
"	!	O 	O 	OO Or   r=   )
__future__r   r   r   r   
simplejsonr   r   r   simplejson.compatr   r	   r
   r   r   r    r,   r=   r   r   r   <module>ry      s;   % % % % % % 



            0 0 0 0 0 0 0 0 0 0 / / / / / / / / / /. . .
 
 
       > > > > > > > >@O @O @O @O @O @O @O @O @O @Or   