
    i                     >    S SK r S SKJr  S SKr/ SQr " S S\5      rg)    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                   &    \ rS rSrS rS rS rSrg)TestFailI   c                     [        [        5       H6  u  pUS-  n [        R                  " U5        U R	                  SX4-  5        M8     g ! [        R
                   a     MR  f = f)N   z$Expected failure for fail%d.json: %r)	enumerateJSONDOCS	dirtyjsonloadsfailError)selfidxdocs      S/home/james-whalen/.local/lib/python3.13/site-packages/dirtyjson/tests/test_fail.pytest_failuresTestFail.test_failuresJ   s\    !(+HC1HCO$ 		@C:MN , ?? s   AA#"A#c                    S H+  n [         R                  " U5        U R                  S5        M-     g ! [         R                   ap    [        R
                  " 5       S   nU R                  UR                  S5        U R                  UR                  S5        U R                  UR                  S5         M  [         a5    [        R
                  " 5       S   nU R                  SU< SU< 35         M  f = f)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_issue46#TestFail.test_array_decoder_issue46T   s    "C>$ 		<= # ?? -LLN1%  *  1-  !, HLLN1%		AFGHs   3B C46:C43C4c                 B   / SQnU H3  u  p#n [         R                  " U5        U R                  SU< S35        M5     g ! [         R                   a    [        R
                  " 5       S   nU R                  UR                  S [        U5       UUR                  < SU< SU< 35        U R                  UR                  USUR                  < SU< SU< 35         M  [         a6    [        R
                  " 5       S   nU R                  S	U< S
U< 35         GM  f = f)N)) Expecting valuer   )[zExpecting value or ']'r   )z[42Expecting ',' delimiter   )z[42,r2      )z["Unterminated string starting atr   )z["spamr7   r   )z["spam"r4      )z["spam",r2      )r   Expecting property namer   )z{"r7   r   )z{"spamr7   r   )z{"spam"zExpecting ':' delimiterr8   )z{"spam":r2   r9   )z
{"spam":42r4   
   )z{"spam":42,r:      )"r7   r   )z"spamr7   r   )z[,r2   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_inputTestFail.test_truncated_inputd   s    

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