ķ uŽ¸Qc@sŽddlZddlmZddlmZddlmZmZdefd„ƒYZdeefd„ƒYZ d eefd „ƒYZ dS( i˙˙˙˙N(tStringIO(t OrderedDict(tPyTesttCTestt TestDecodecBsGeZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCsN|jddtjƒ}|jt|tjƒƒ|j|tjdƒƒdS(Ns1.1t parse_float(tloadstdecimaltDecimalt assertTruet isinstancet assertEqual(tselftrval((s,/sys/lib/python2.7/json/tests/test_decode.pyt test_decimalscCs?|jddtƒ}|jt|tƒƒ|j|dƒdS(Nt1t parse_intgđ?(RtfloatR R R (R R ((s,/sys/lib/python2.7/json/tests/test_decode.pyt test_float scCs1|jdƒ}|j|idd6dd6ƒdS(Ns,{ "key" : "value" , "k":"v" }tvaluetkeytvtk(RR (R R ((s,/sys/lib/python2.7/json/tests/test_decode.pyttest_decoder_optimizationsscCsh|j|jdƒiƒ|j|jdƒgƒ|j|jdƒdƒ|j|jdƒtƒdS(Ns{}s[]s""u(R RtassertIsInstancetunicode(R ((s,/sys/lib/python2.7/json/tests/test_decode.pyttest_empty_objectsscCsSd}dddddddg}|j|j|ƒt|ƒƒ|j|j|dd„ƒ|ƒ|j|jjt|ƒdd„ƒ|ƒ|j|dtƒ}|j|t|ƒƒ|jt|ƒtƒ|j|j|dtdd„ƒt|ƒƒ|j|jddtƒtƒƒ|j|jddtƒtdtƒfgƒƒdS(Ns?{"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7}txkditkcwitartithxmitqrtitpadithoyitobject_pairs_hookcSs|S(N((tx((s,/sys/lib/python2.7/json/tests/test_decode.pyt$scSs|S(N((R#((s,/sys/lib/python2.7/json/tests/test_decode.pyR$&st object_hookcSsdS(N(tNone(R#((s,/sys/lib/python2.7/json/tests/test_decode.pyR$,ss{}s {"empty": {}}tempty(Ri(Ri(Ri(Ri(Ri(R i(R!i(R RtevaltjsontloadRRttype(R tstptod((s,/sys/lib/python2.7/json/tests/test_decode.pyttest_object_pairs_hooks$ "   cCs)d}d}|jt||j|ƒdS(Ns [1, 2, 3]5s Extra data(tassertRaisesRegexpt ValueErrorR(R R,tmsg((s,/sys/lib/python2.7/json/tests/test_decode.pyttest_extra_data5scCs)d}d}|jt||j|ƒdS(Ns ["abc\y"]tescape(R0R1R(R R,R2((s,/sys/lib/python2.7/json/tests/test_decode.pyttest_invalid_escape:s( t__name__t __module__RRRRR/R3R5(((s,/sys/lib/python2.7/json/tests/test_decode.pyRs      t TestPyDecodecBseZRS((R6R7(((s,/sys/lib/python2.7/json/tests/test_decode.pyR8?st TestCDecodecBseZRS((R6R7(((s,/sys/lib/python2.7/json/tests/test_decode.pyR9@s( RRt collectionsRt json.testsRRtobjectRR8R9(((s,/sys/lib/python2.7/json/tests/test_decode.pyts 8