B VXÿYÊã:@s²ddlZddlmZddlZddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?œZGd@dA„dAeƒZdS)BéN)ÚTestCasez<"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$["AZ control characters in string"]Ú{z{]z{"foo": "bar"]z {"foo": "bar"ÚnulZnulxú-z-xz-ez-e0z -Infinitez-InfZInfinitZInfiniteZNaMZNuNZfalsyZfalZtrugZtruZ1eZ1exz1e-z1e-xzwhy not have a string payload?z,spec doesn't specify any nesting limitations)ééc@s$eZdZdd„Zdd„Zdd„ZdS)ÚTestFailc CsnxhttƒD]\\}}|d}|tkr.t |¡q yt |¡Wntjk rRYq X| d||f¡q WdS)Nrz$Expected failure for fail%d.json: %r)Ú enumerateÚJSONDOCSÚSKIPSÚjsonÚloadsÚJSONDecodeErrorÚfail)ÚselfÚidxÚdoc©rúM/opt/alt/python37/lib64/python3.7/site-packages/simplejson/tests/test_fail.pyÚ test_failuresms zTestFail.test_failuresc Cs¨x¢dD]š}yt |¡Wn|tjk rdt ¡d}| |jd¡| |jd¡| |jd¡Yqt k r”t ¡d}|  d||f¡YqX|  d¡qWdS)N)z[,]z[,]réz!Unexpected exception raised %r %sz Unexpected success parsing '[,]') r r rÚsysÚexc_infoÚ assertEqualÚposÚlinenoÚcolnoÚ Exceptionr)rrÚerrrÚtest_array_decoder_issue46zs   z#TestFail.test_array_decoder_issue46cCsöddddddddd d d d d dddddg}xÈ|D]À\}}}yt |¡Wn–tjk r¬t ¡d}| |jdt|ƒ…|d|j||f¡| |j|d|j||f¡Yq.t k rÜt ¡d}|  d||f¡Yq.X|  d|f¡q.WdS)N)ÚzExpecting valuer)ú[zExpecting value or ']'r)z[42zExpecting ',' delimiteré)z[42,zExpecting valueé)z["zUnterminated string starting atr)z["spamzUnterminated string starting atr)z["spam"zExpecting ',' delimiteré)z["spam",zExpecting valueé)rz1Expecting property name enclosed in double quotesr)z{"zUnterminated string starting atr)z{"spamzUnterminated string starting atr)z{"spam"zExpecting ':' delimiterr$)z{"spam":zExpecting valuer%)z {"spam":42zExpecting ',' delimiteré )z {"spam":42,z1Expecting property name enclosed in double quotesé )ú"zUnterminated string starting atr)z"spamzUnterminated string starting atr)z[,zExpecting valuerrz%r doesn't start with %r for %rzpos %r != %r for %rz!Unexpected exception raised %r %szUnexpected success parsing '%r') r r rrrrÚmsgÚlenrrr)rZ test_casesÚdatar)rrrrrÚtest_truncated_inputŠsD  zTestFail.test_truncated_inputN)Ú__name__Ú __module__Ú __qualname__rrr,rrrrrls r)rZunittestrÚ simplejsonr r r rrrrrÚs~