a  zei @sbddlmZddlmZmZddlmZmZGdddZGdddeeZ Gdd d eeZ d S) )StringIO)PyTestCTest) bigmemtest_1Gc@s<eZdZddZddZddZddZd d Zd d Zd S)TestDumpcCs(t}|ji|||ddSNz{})rjsondump assertEqualgetvalue)selfsiorL/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_json/test_dump.py test_dumpszTestDump.test_dumpcCs||iddSrr dumpsr rrr test_dumps szTestDump.test_dumpscCsxddd}|t|j|Wdn1s60Y|jj|dd}|j|}|d||d|dS)NFT) invalid_key valid_key)Zskipkeysrr)Z assertRaises TypeErrorr rloadsZassertInZ assertNotIn)r vsorrrtest_dump_skipkeyss  *  zTestDump.test_dump_skipkeyscCs@||jdddddd||jddddd ddd dS) NFT)TFZ sort_keysz{"false": true, "true": false}g@)g@Fz+{"false": 1, "2": 3.0, "4.0": 5, "6": true}rrrrrtest_encode_truefalses zTestDump.test_encode_truefalsecs2tgdfdd}||j|dddS)N cs d=dS)Nr)objarrcrasher$sz-TestDump.test_encode_mutated..crasher)defaultz[null, null, null, null, null])objectr r)r r)rr'rtest_encode_mutated"s   zTestDump.test_encode_mutatedcsdGfdddt}GfdddfddtdD|}d|d <||j|d d d dS) NcseZdZfddZdS)z)TestDump.test_encode_evil_dict..DcsS)NrrLrrkeys,sz.TestDump.test_encode_evil_dict..D.keysN)__name__ __module__ __qualname__r/rr-rrD+sr3cs eZdZfddZddZdS)z)TestDump.test_encode_evil_dict..Xcs d=dS)Nr9rrr-rr__hash__0sz2TestDump.test_encode_evil_dict..X.__hash__cSsdS)Nrr)r rrrr__lt__4sz0TestDump.test_encode_evil_dict..X.__lt__N)r0r1r2r5r6rr-rrX/s r7csg|] }qSrr).0i)r7rr 7z2TestDump.test_encode_evil_dict..ibztrue.datr4Trz{"1337": "true.dat"})dictranger r)r r3dr)r.r7rtest_encode_evil_dict*s zTestDump.test_encode_evil_dictN) r0r1r2rrrr#r,r?rrrrrs   rc@s eZdZdS) TestPyDumpN)r0r1r2rrrrr@=r;r@c@s eZdZeeddddZdS) TestCDumpr )sizeZmemusecCstd|t}dg|}||}|t||d||ddd||ddd||ddd|ddS)Nir [z1]z1, )intrrr len)r rBNlencodedrrrtest_large_listFs  zTestCDump.test_large_listN)r0r1r2rrrKrrrrrA?s rAN) iorZtest.test_jsonrrZ test.supportrrrr@rArrrrs 7