o
    q!åg›  ã                   @   s8   d dl Z d dlmZ d dlZg d¢ZG dd„ deƒZdS )é    N)ÚTestCase)(z["Unclosed array"z["double extra comma",,]z[   , "<-- missing value"]z{"Illegal expression": 1 + 2}z{"Illegal invocation": alert()}z"["Illegal backslash escape: \x15"]z[\naked]z"["Illegal backslash escape: \017"]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&["tab\   character\   in\  string\  "]z["line\
break"]z[0e]z[0e+]z[0e+-1]z({"Comma instead if closing brace": true,z["mismatch"}Ú{z{]z{"foo": "bar"]z{"foo": "bar"ÚnulÚnulxú-z-xz-ez-e0z	-Infinitez-InfÚInfinitÚInfiniteÚNaMÚNuNÚfalsyÚfalÚtrugÚtruc                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTestFailc              	   C   sT   t tƒD ]#\}}|d7 }zt |¡ W n
 tjy   Y qw |  d||f ¡ qd S )Né   z$Expected failure for fail%d.json: %r)Ú	enumerateÚJSONDOCSÚ	dirtyjsonÚloadsÚErrorÚfail)ÚselfÚidxÚdoc© r   ú[/mnt/skqttb/ctump_chatbot/chatbot/lib/python3.10/site-packages/dirtyjson/tests/test_fail.pyÚtest_failuresJ   s   ÿùzTestFail.test_failuresc              	   C   s    dD ]K}zt  |¡ W n< t jy0   t ¡ d }|  |jd¡ |  |jd¡ |  |jd¡ Y q t	yG   t ¡ d }|  
d||f ¡ Y qw |  
d¡ qd S )N)ú[,]r   r   é   ú!Unexpected exception raised %r %sz Unexpected success parsing '[,]')r   r   r   ÚsysÚexc_infoÚassertEqualÚposÚlinenoÚcolnoÚ	Exceptionr   )r   r   Úer   r   r   Útest_array_decoder_issue46T   s   þôz#TestFail.test_array_decoder_issue46c                 C   sÎ   g d¢}|D ]^\}}}zt  |¡ W nI t jyD   t ¡ d }|  |jd t|ƒ… |d|j||f ¡ |  |j|d|j||f ¡ Y q t	y[   t ¡ d }|  
d||f ¡ Y qw |  
d|f ¡ qd S )N))Ú úExpecting valuer   )ú[zExpecting value or ']'r   )z[42úExpecting ',' delimiteré   )z[42,r*   é   )z["úUnterminated string starting atr   )z["spamr/   r   )z["spam"r,   é   )z["spam",r*   é   )r   úExpecting property namer   )z{"r/   r   )z{"spamr/   r   )z{"spam"zExpecting ':' delimiterr0   )z{"spam":r*   r1   )z
{"spam":42r,   é
   )z{"spam":42,r2   é   )ú"r/   r   )z"spamr/   r   )z[,r*   r   r   z%r doesn't start with %r for %rzpos %r != %r for %rr   zUnexpected success parsing '%r')r   r   r   r    r!   r"   ÚmsgÚlenr#   r&   r   )r   Ú
test_casesÚdatar6   r   r'   r   r   r   Útest_truncated_inputd   s*   ýþþðzTestFail.test_truncated_inputN)Ú__name__Ú
__module__Ú__qualname__r   r(   r:   r   r   r   r   r   I   s    
r   )r    Úunittestr   r   r   r   r   r   r   r   Ú<module>   s
    B