B VXY@sTddlmZddlZddlmZddlZddlmZddlm Z GdddeZ dS))absolute_importN)TestCase)StringIO) OrderedDictc@sveZdZeedsddZddZddZdd Zd d Z d d Z ddZ ddZ ddZ ddZddZddZdS) TestDecodeassertIscCs|||kd||fdS)Nz%r is %r) assertTrue)selfabr O/opt/alt/python37/lib64/python3.7/site-packages/simplejson/tests/test_decode.pyr szTestDecode.assertIscCs8tjdtjd}|t|tj||tddS)Nz1.1) parse_float)jsonloadsdecimalZDecimalr isinstance assertEqual)r rvalr r r test_decimalszTestDecode.test_decimalcCs.tjdtd}|t|t||ddS)N1) parse_intg?)rrfloatrrr)r rr r r test_floatszTestDecode.test_floatcCs td}||ddddS)Nz,{ "key" : "value" , "k":"v" }valuev)keyk)rrr)r rr r r test_decoder_optimizationss z%TestDecode.test_decoder_optimizationscCsRd}|t|t|d}|t|t|d}|t|t|dS)Nz{}z[]z"")rrreval)r sr r r test_empty_objectss zTestDecode.test_empty_objectscCsd}dddddddg}|t|t||tj|d d d ||tjt|d d d |tj|td }||t||t|t|tj|td d dt|dS)Nz?{"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7})Zxkd)Zkcw)Zart)Zhxm)Zqrt)pad)ZhoycSs|S)Nr )xr r r ,z3TestDecode.test_object_pairs_hook..)object_pairs_hookcSs|S)Nr )r*r r r r+.r,cSsdS)Nr )r*r r r r+5r,)r- object_hook)rrrrloadrrtype)r r pZodr r r test_object_pairs_hook's   z!TestDecode.test_object_pairs_hookcCsF||}t|dt|d\}}\}}||||||dS)Nrr")sortedr)r sourcerrr r cdr r r check_keys_reuse8s" zTestDecode.check_keys_reusecCsdd}||tjdS)Nu2[{"a_key": 1, "b_é": 2}, {"a_key": 3, "b_é": 4}]utf8)encoder7rr)r r r r r test_keys_reuse_str>s zTestDecode.test_keys_reuse_strcCsd}||tjdS)Nu2[{"a_key": 1, "b_é": 2}, {"a_key": 3, "b_é": 4}])r7rr)r r r r r test_keys_reuse_unicodeBsz"TestDecode.test_keys_reuse_unicodecCsP|tdd|tdd|tddg|tddgdS)Nz""z[""])rrr)r r r r test_empty_stringsFszTestDecode.test_empty_stringscCsdtjj}|diidf|d|diidf|tdd|diidf|ddS)Nr z {"a": {}})r- z {"a": {}})rdecoder JSONDecoderr raw_decodedict)r clsr r r test_raw_decodeLs   zTestDecode.test_raw_decodecCstj}x0dD](}|t|jd||t|jd|qWtddgtd\}}t|t|}|t|j|||t|j||dS)N) r%r&r(iZ1234Z 128931233Z 472389423)r) rr@rAZ assertRaises ValueError scan_oncerBr3id)r jir*yZdiffr r r test_bounds_checkingZs  zTestDecode.test_bounds_checkingN)__name__ __module__ __qualname__hasattrrrrrrr!r2r7r:r;r=rErQr r r r r s r) __future__rrZunittestr simplejsonrZsimplejson.compatrrrr r r r s