
    DUf6                     P    d dl Z d dlmZ d dlZg dZdddZ G d de          ZdS )	    N)TestCase):z<"A JSON payload should be an object or array, not a string."z["Unclosed array"z%{unquoted_key: "keys must be quoted"}z["extra comma",]z["double extra comma",,]z[   , "<-- missing value"]z["Comma after the close"],z["Extra close"]]z{"Extra comma": true,}z:{"Extra value after close": true} "misplaced quoted value"z{"Illegal expression": 1 + 2}z{"Illegal invocation": alert()}z+{"Numbers cannot have leading zeroes": 013}z{"Numbers cannot be hex": 0x14}z"["Illegal backslash escape: \x15"]z[\naked]z"["Illegal backslash escape: \017"]z2[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]z{"Missing colon" null}z{"Double colon":: null}z {"Comma instead of colon", null}z!["Colon instead of comma": false]z["Bad value", truth]z['single quote']z["	tab	character	in	string	"]z&["tab\   character\   in\  string\  "]z["line
break"]z["line\
break"]z[0e]z[0e+]z[0e+-1]z({"Comma instead if closing brace": true,z["mismatch"}z$["AZ control characters in string"]{z{]z{"foo": "bar"]z{"foo": "bar"nulnulx-z-xz-ez-e0z	-Infinitez-InfInfinitInfiniteNaMNuNfalsyfaltrugtru1e1exz1e-z1e-xzwhy not have a string payload?z,spec doesn't specify any nesting limitations)      c                        e Zd Zd Zd Zd ZdS )TestFailc                    t          t                    D ]l\  }}|dz   }|t          v rt          j        |           (	 t          j        |           |                     d||fz             X# t          j        $ r Y iw xY wd S )Nr   z$Expected failure for fail%d.json: %r)	enumerateJSONDOCSSKIPSjsonloadsfailJSONDecodeError)selfidxdocs      W/var/www/html/software/conda/lib/python3.11/site-packages/simplejson/tests/test_fail.pytest_failureszTestFail.test_failuresm   s    !(++ 
	O 
	OHC'Ce||
3O
3 		@C:MNNNN '   
	O 
	Os   A--A?>A?c                    dD ]}	 t          j        |           |                     d           -# t           j        $ rm t	          j                    d         }|                     |j        d           |                     |j        d           |                     |j	        d           Y t          $ r7 t	          j                    d         }|                     d|d|           Y w xY wd S )N)[,]r$   z Unexpected success parsing '[,]'r      Unexpected exception raised  )r   r   r   r   sysexc_infoassertEqualposlinenocolno	Exception)r   r    es      r!   test_array_decoder_issue46z#TestFail.test_array_decoder_issue46z   s   " 	> 	>C>
3 		<==== ' - - -LNN1%  ***  1---  !,,,,, H H HLNN1%			AAFGGGGGH	> 	>s   0A9C++=C+*C+c                 *   g d}|D ]
\  }}}	 t          j        |           |                     d|d           6# t           j        $ r t	          j                    d         }|                     |j        d t          |                   ||j        d|d|           |                     |j	        |d|j	        d|d|           Y t          $ r8 t	          j                    d         }|                     d	|d
|           Y w xY wd S )N)) Expecting valuer   )[zExpecting value or ']'r   )z[42Expecting ',' delimiter   )z[42,r3      )z["Unterminated string starting atr   )z["spamr8   r   )z["spam"r5      )z["spam",r3      )r   z8Expecting property name enclosed in double quotes or '}'r   )z{"r8   r   )z{"spamr8   r   )z{"spam"zExpecting ':' delimiterr9   )z{"spam":r3   r:   )z
{"spam":42r5   
   )z{"spam":42,z1Expecting property name enclosed in double quotes   )"r8   r   )z"spamr8   r   )z[,r3   r   )z--r3   r   )z"dzInvalid control character %rr   zUnexpected success parsing ''r   z doesn't start with z for zpos z != r&   r'   )r   r   r   r   r(   r)   r*   msglenr+   r.   )r   
test_casesdatar?   r   r/   s         r!   test_truncated_inputzTestFail.test_truncated_input   s~   
 
 

. ) 	G 	GND#sG
4    			tttEFFFF ' @ @ @LNN1%  E)3s88)$9:TTJL L L   E33-.UUUCCC>@ @ @ @ @  H H HLNN1%			AAFGGGGGH	G 	Gs   =BD=DDN)__name__
__module____qualname__r"   r0   rC        r!   r   r   l   sI        O O O> > > (G (G (G (G (GrH   r   )r(   unittestr   
simplejsonr   r   r   r   rG   rH   r!   <module>rK      s    



          ^ ^ ^B (6	 	
FG FG FG FG FGx FG FG FG FG FGrH   