bgVddlZddlmZddlZddlZddlmZmZGddeZ dS)N)TestCase)bPY3c2eZdZdZdZdZdZdZdZdS)TestScanStringcN|tjjdS)N)_test_scanstring simplejsondecoder py_scanstringselfs s/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/simplejson/tests/test_scanstring.pytest_py_scanstringz!TestScanString.test_py_scanstrings" j0>?????c tjjsdS|tjj|t tjdddt dS)Nz""r)r r c_scanstringr assertTrue isinstancestrr s rtest_c_scanstringz TestScanString.test_c_scanstringsj!.  F j0=>>>  :#5#B#B4#K#KA#NPSTTUUUUUrc  tjdkr#||dddddn"||ddddd||ddddd||d dddd ||d d ddd ||dd ddd||dd ddd||dd ddd||dd ddd||dd ddd||dd ddd||dd ddd||dd ddd||dd ddd||d d ddd!||d"d#ddd$||d%d ddd&||d'd ddd(||d)d ddd*||d+d ddd,||d-d ddd.ttt d/d0D]K}|||d1zd/dd2|d f|t||d1zd/ddL|t|d3d/dd|t|d4d/dd|t|d5d/dd|t|d6d/dd|t|d7d/dd|t|d8d/dd|t|d9d/dd|t|d:d/ddtjdkr>|t|d;d/dd|t|dd/dddS)?Niu"z𝄠x"T)z𝄠x)rz"\u007b"){z<"A JSON payload should be an object or array, not a string.")z:A JSON payload should be an object or array, not a string.<z["Unclosed array")zUnclosed arrayz["extra comma",])z extra commaz["double extra comma",,])zdouble extra commaz["Comma after the close"],)zComma after the closez["Extra close"]])z Extra closer"z{"Extra comma": true,})z Extra commar"z:{"Extra value after close": true} "misplaced quoted value")zExtra value after closez{"Illegal expression": 1 + 2})zIllegal expressionr#z{"Illegal invocation": alert()})zIllegal invocationr#z+{"Numbers cannot have leading zeroes": 013})z"Numbers cannot have leading zeroes%z{"Numbers cannot be hex": 0x14})zNumbers cannot be hexr$z2[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]r#)zToo deepz{"Missing colon" null})z Missing colonz{"Double colon":: null})z Double colonz {"Comma instead of colon", null})zComma instead of colonz!["Colon instead of comma": false])zColon instead of commar*z["Bad value", truth])z Bad value r"Fa\z\uz\u0z\u01z\u012z\u0123z \ud834\u"z \ud834\x0123"z\u-123"z\u EDD") sys maxunicode assertEqualmapchrrange assertRaises ValueErrorjsonJSONDecodeError)r scanstringcs rr zTestScanString._test_scanstringsI >U " "    ,at<<$ & & & &    ,at<<$ & & &  J{AtT 2 2      JUWXZ^`d e e O Q Q Q  J*AtT : : # % % %  J)1dD 9 9  " " "  J11dD A A ' ) ) )  J3Qd C C * , , ,  J)1dD 9 9  " " "  J/D$ ? ?  " " "  JSUVX\^b c c , . . .  J64 F F ' ) ) )  J8!T4 H H ' ) ) )  JDat T T 7 9 9 9  J8!T4 H H * , , ,  JKRQUW[ \ \      J/D$ ? ? " $ $ $  J0!T4 @ @ ! # # #  J91dD I I + - - -  J:AtT J J + - - -  J-q$ = =    S%d++,, 4 4A    1s7AtU33A      AGQd 4 4 4 4 *j"atDDD *j#q$EEE *j$4FFF *j%D$GGG *j&!T4HHH *j'1dDIII *j(AtTJJJ *j)QdKKK >E ! !   j(-D$ H H H   j(*;Qd L L L $. J4QUVVV $. J4QUVVVVVrc|ttjjddd|t tjjtddS)Nxxxruxxÿ) r7r8r9r r;UnicodeDecodeErrorencoderencode_basestring_asciirr s rtest_issue3623zTestScanString.test_issue3623sd *dl&=ua ! ! ! ,,>(  M M M M Mrc ttdttdd}|J|ttjjd|dzdS)Nmaxsizemaxintr>r)getattrr1r7 OverflowErrorr9r r;)rrDs r test_overflowzTestScanString.test_overflows_#y'#x*F*FGG""" -)@%!A+ ' ' ' ' 'rc:tjjdfd }|dd|dd|dd|d d |d d |d d |ddddg|ddddg|dddgdddgdt ddddt dddddS)NTc|g}ts*|r(||d|D]L}|ddd\}}t ||||MdS)Nutf8rT)rappendencoder3len)givenexpect test_utf8givensrescountr;rs r assertScanz2TestScanString.test_surrogates..assertScansWF 49 4 ell622333 . .)z%D$?? e  UU333  f---- . .rz"z\ud834\u0079x"uzyxz"z\ud834\udd20x"rz"z\ud834\ud834\udd20x"u z𝄠xz "z\ud834x"uzxz "z\udd20x"uzxu"zx"u"z\ud834x12345"r.uzu x12345u "z\udd20x"uxu"zux"F)rQz "z\ud83x"rz"z\ud834\udd2x")T)r9r r;joinr7r8)rrUr;s` @rtest_surrogateszTestScanString.test_surrogatess\,  . . . . . . .  !      !      ( ! # # #                    % HHj/2 3 3 5 5 5  HHj*- . . 0 0 0  HHk;/ 0 0 HHj*- . .     *$mQd D D D *$&:AtT K K K K KrN) __name__ __module__ __qualname__rrr rBrHrWrrrrs@@@VVVnWnWnW`MMM '''0K0K0K0K0Krr) r1unittestrr r9simplejson.decodersimplejson.compatrrrr[rrr_s $$$$$$$$@K@K@K@K@KX@K@K@K@K@Kr