
    Gg                     >    d dl Z d dlmZ d dlZg dZ G d de      Zy)    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                       e Zd Zd Zd Zd Zy)TestFailc                     t        t              D ]6  \  }}|dz  }	 t        j                  |       | j	                  d||fz         8 y # t        j
                  $ r Y Ow xY w)N   z$Expected failure for fail%d.json: %r)	enumerateJSONDOCS	dirtyjsonloadsfailError)selfidxdocs      v/home/kushmeetdev/apache_webroot/langgraph_flaskproject/venv/lib/python3.12/site-packages/dirtyjson/tests/test_fail.pytest_failureszTestFail.test_failuresJ   sg    !(+ 	OHC1HCO$ 		@C:MN	O ?? s   A

A A c                    dD ])  }	 t        j                  |       | j                  d       + y # t         j                  $ rn t	        j
                         d   }| j                  |j                  d       | j                  |j                  d       | j                  |j                  d       Y t        $ r1 t	        j
                         d   }| j                  d|d|       Y w xY w)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_issue46T   s    " 	>C>$ 		<=	> ?? -LLN1%  *  1-  !, HLLN1%		AFGHs   0A>C)06C)(C)c                     g d}|D ]1  \  }}}	 t        j                  |       | j                  d|d       3 y # t         j                  $ r t	        j
                         d   }| j                  |j                  d t        |       ||j                  d|d|       | j                  |j                  |d|j                  d|d|       Y t        $ r2 t	        j
                         d   }| j                  d	|d
|       Y w xY w)N)) Expecting valuer   )[zExpecting value or ']'r   )z[42Expecting ',' delimiter   )z[42,r/      )z["Unterminated string starting atr   )z["spamr4   r   )z["spam"r1      )z["spam",r/      )r   Expecting property namer   )z{"r4   r   )z{"spamr4   r   )z{"spam"zExpecting ':' delimiterr5   )z{"spam":r/   r6   )z
{"spam":42r1   
   )z{"spam":42,r7      )"r4   r   )z"spamr4   r   )z[,r/   r   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_inputd   s    

* ) 	GND#sG% 		tEF!	G ?? @LLN1%  EE)3s8$9:TJL   EE3-.UUC>@  HLLN1%		AFGHs   <BD6DDN)__name__
__module____qualname__r   r,   r@        r   r   r   I   s    O> &GrE   r   )r$   unittestr   r   r   r   rD   rE   r   <module>rG      s&    
  >DAGx AGrE   