bgt(ddlmZddlmZmZmZmZmZmZddl Z GddeZ GddeZ dZ d ZGd d eZdS) )TestCase)StringIO long_typeb binary_type text_typePY3NceZdZdZdS)MisbehavingTextSubtypecdS)NzFAIL!selfs m/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/simplejson/tests/test_dump.py__str__zMisbehavingTextSubtype.__str__swN)__name__ __module__ __qualname__rr rrr r s#rr c"eZdZddZdZdZdS)MisbehavingBytesSubtypeNcdS)Nz bad decoder )rencodings rdecodezMisbehavingBytesSubtype.decode s|rcdS)Nz bad __str__r rs rrzMisbehavingBytesSubtype.__str__ s}rc tdS)Nz bad __bytes__rrs r __bytes__z!MisbehavingBytesSubtype.__bytes__s!!!rN)rrrrrrr rrrr sF"""""rrchtr*t|tr|dS|S)Nascii)r isinstancebytesr)ss r as_text_typer%s2 !z!U##!xx   Hrc"|jdS)N iso-8859-15)rrs rdecode_iso_8859_15r(s 18M " ""rcbeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdS)TestDumpct}tji|||ddSN{})rjsondump assertEqualgetvalue)rsios r test_dumpzTestDump.test_dumpsAjj "c .....rc dD]}|tjtj||u|tjtj|gd|u|tjtjd|id|udS)N)NTFra) assertTruer.loadsdumps)rcs rtest_constantszTestDump.test_constantss$ H HA OODJtz!}}55: ; ; ; OODJtz1#77:a? @ @ @ OODJtz3(';';<K|]\}}t||fVdSr)r%).0keyvals r z.TestDump.test_stringify_key..9s3OOzS<,,c2OOOOOOr)skipkeysrD) rrr0r.r7r8 assertRaises TypeErrordictitems)rrTkexpectvrDv0v1s rtest_stringify_keyzTestDump.test_stringify_key%s*G**g&!C..%( * " "IAv    4:q&k2233  " " "    4:q&kTBBBCC  " " " " )TZ$;;;wlQvYY61$=>  A*   !WW4OOQWWYYOOOOO  Jtz"tyQQQRR  Jtz2r(TYWWWXXH  Jtz2$SSSTTD   rcV|tjiddSr,)r0r.r8rs r test_dumpszTestDump.test_dumpsDs& B.....rc|tjddddd|tjdddtd dd td dd d idddS)NFT)TFrCz{"false": true, "true": false}rIg@g@rE7rz3{"2": 3.0, "4.0": 5, "6": true, "7": 0, "false": 1})r0r.r8rrs rtest_encode_truefalsezTestDump.test_encode_truefalseGs d++t===1 3 3 3  JCill1ta       B C C C C Crcgd}tjtj|}||ddS)N))onerE)tworI)three)four)fiver^z6{"one": 1, "two": 2, "three": 3, "four": 4, "five": 5})r.r8 OrderedDictr0)rrTr$s rtest_ordered_dictzTestDump.test_ordered_dictUsTPPP Jt'.. / /  D F F F F FrcGddt}tjgd|d}||ddS)a A test against the regression mentioned at `github issue 29`_. The indent parameter should accept any type which pretends to be an instance of int or long when it comes to being multiplied by strings, even if it is not actually an int or long, for backwards compatibility. .. _github issue 29: http://github.com/simplejson/simplejson/issue/29 ceZdZdZdZdZdS)@TestDump.test_indent_unknown_type_acceptance..AwesomeIntz'An awesome reimplementation of integersct|dkr*t|dtr|d|_dSdSdS)Nr)lenr"int_int)rargskwargss r__init__zITestDump.test_indent_unknown_type_acceptance..AwesomeInt.__init__msIt99q== "$q'3//,$(G != ,,rcTt|dr |j|zStd)NrrzOTo do non-awesome things with this object, please construct it from an integer!)hasattrrrNotImplementedError)rrFs r__mul__zHTestDump.test_indent_unknown_type_acceptance..AwesomeInt.__mul__xs?4((N9u,,-/MNNNrN)rrr__doc__ruryr rr AwesomeIntrnjs= 9 9 , , , N N N N Nrr{)rrErIrf)indentz[ 0, 1, 2 ]N)objectr.r8r0)rr{r$s r#test_indent_unknown_type_acceptancez,TestDump.test_indent_unknown_type_acceptance]ss N N N N N N N N0 JyyyA 7 7 7 677777rcdgdz}|tjtj||dS)Nri)r0r.r7r8)rlsts rtest_accumulatorzTestDump.test_accumulators;cFl DJsOO44c:::::rctddD]}tdt|D}t}tj||d||tj|d|tj||dS)NrI c38K|]}t||fVdSr)str)rKxs rrNz*TestDump.test_sort_keys..s,::Qc!ffa[::::::rTrC) rangerSrr.r/r0r1r8r7)rnum_keyspr2s rtest_sort_keyszTestDump.test_sort_keyssa  < ):):(;dKKK* , , ,   0$*qyyk'+  - - -   0$*qyyk'+5G  I I I I Irch|tjtddid|t tjtddi|tjtddidd|tjtddiddt r|ttjtddid|ttjtddid|ttjtddidt |tjtddidd d dS|tjtddidd|t tjtddid|t tjtddidt |t tjtddidd dS) Nrrz{"\u20ac": 42}rrrz{"\u00a4": 42}r'rT)rrOr-rrs rtest_bytes_keyzTestDump.test_bytes_keys Q~%6%6$;<<>OPPP ,dj1V99b/JJJ QvYYOlKKK* , , , QvYYOmLLL* , , ,  <   ia6G6G5L'+  - - -   iaii_'+  - - -   iaii_'+5G  I I I   TZ6B$15777" $ $ $ $ $   TZ>):):B(?$OOO. 0 0 0   0$*qyy"o'+  - - -   0$*qyy"o'+5G  I I I   0$*qyy"o'+d  < < < < /// C C CFFF&8&8&8P;;; <<<      III.III.<<<<rsQQQQQQQQQQQQQQQQY"""""k"""   ###`<`<`<`<`