o \Փa0@sddlmZddlZddlZddlmZddlZddlmZmZmZddl m Z m Z m Z ddZ dd ZGd d d ZGd d d eZGdddeZdS))with_statementN)TestCase)encoderdecoderscanner)PY3 long_typebcCs tjduSN)rc_make_encoderr r @/usr/lib/python3/dist-packages/simplejson/tests/test_speedups.py has_speedups s rcsfdd}|S)Ncs8tsttdr tdtjddS|i|S)NSkipTestzC Extension not available)rhasattrunittestrsysstdoutwrite)argskwargsfuncr r wrappers    z)skip_if_speedups_missing..wrapperr )rrr rr skip_if_speedups_missings  rc@seZdZddZeZdS)BadBoolcC dddSNrr selfr r r __bool__ zBadBool.__bool__N)__name__ __module__ __qualname__r! __nonzero__r r r r rsrc@s$eZdZeddZeddZdS) TestDecodecCs|ttjddS)Nr) assertRaisesAttributeErrorrc_make_scannerrr r r test_make_scanner$szTestDecode.test_make_scannercCsLdd}|t|d|t|dts$|t|d|t|ddSdS)NcSstjtd|dS)N)strict)r JSONDecoderrdecode)valuer r r test*sz+TestDecode.test_bad_bool_args..testz""z{})r(ZeroDivisionErrorrr r0r r r test_bad_bool_args(szTestDecode.test_bad_bool_argsN)r#r$r%rr+r3r r r r r'#s  r'c@sPeZdZeddZeddZeddZeddZer&ed d Z d Sd S) TestEncodecCs|ttjddddS)NuÍ}=NLùy×Rº‚ò'J} Êu)r( TypeErrorrr rr r r test_make_encoder3szTestEncode.test_make_encodercCsddl}dd}tddd|ddddddidddddd dd|jd}|t|d d |t|d d id d d}tddd|ddddddidddddd dd|jd}|t|d d dS)NrcWsdSr r rr r r bad_encoder1Csz5TestEncode.test_bad_str_encoder..bad_encoder1cSt|Sr strobjr r r Fz1TestEncode.test_bad_str_encoder..z: z, Fzutf-8spam*cWrrr r7r r r bad_encoder2Mr"z5TestEncode.test_bad_str_encoder..bad_encoder2cSr9r r:r<r r r r>Pr?)decimalrr Decimalr(r5r1)r rDr8encrCr r r test_bad_str_encoder>s$zTestEncode.test_bad_str_encodercCsdd}|t|d|t|d|t|d|t|d|t|d|t|d|t|d |t|d |t|d |t|d |t|d |t|ddS)NcSs tjdi|tiidS)Nr )r JSONEncoderrencode)namer r r r0Xs z+TestEncode.test_bad_bool_args..testskipkeys ensure_asciicheck_circular allow_nan sort_keys use_decimalnamedtuple_as_objecttuple_as_arraybigint_as_stringfor_json ignore_naniterable_as_array)r(r1r2r r r r3VszTestEncode.test_bad_bool_argscs0tdddfdd}|ttf|dS)N cstjdddS)N)int_as_string_bitcountr)rrHrIr  long_countr r r0jsz=TestEncode.test_int_as_string_bitcount_overflow..test)rr(r5 OverflowErrorr2r r[r $test_int_as_string_bitcount_overflowgs z/TestEncode.test_int_as_string_bitcount_overflowcCsJ|ttjddtddiWddS1swYdS)Nu)encodingkey{)r(UnicodeEncodeErrorrrHrIr rr r r test_bad_encodingos "zTestEncode.test_bad_encodingN) r#r$r%rr6rGr3r^rrcr r r r r42s    r4) __future__rrrr simplejsonrrrsimplejson.compatrrr rrrr'r4r r r r s