HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/root/lib/python3/dist-packages/simplejson/tests/__pycache__/test_dump.cpython-38.pyc
U

�O5[t(�@sxddlmZddlmZmZmZmZmZmZddl	Z
Gdd�de�ZGdd�de�Zdd	�Z
d
d�ZGdd
�d
e�ZdS)�)�TestCase)�StringIO�	long_type�b�binary_type�	text_type�PY3Nc@seZdZdd�ZdS)�MisbehavingTextSubtypecCsdS)NzFAIL!���selfr
r
�</usr/lib/python3/dist-packages/simplejson/tests/test_dump.py�__str__szMisbehavingTextSubtype.__str__N)�__name__�
__module__�__qualname__rr
r
r
r
r	sr	c@s&eZdZddd�Zdd�Zdd�ZdS)	�MisbehavingBytesSubtypeNcCsdS)Nz
bad decoder
)r�encodingr
r
r
�decode
szMisbehavingBytesSubtype.decodecCsdS)Nzbad __str__r
rr
r
r
rszMisbehavingBytesSubtype.__str__cCstd�S)Nz
bad __bytes__�rrr
r
r
�	__bytes__sz!MisbehavingBytesSubtype.__bytes__)N)rrrrrrr
r
r
r
r	s
rcCstrt|t�r|�d�S|S)N�ascii)r�
isinstance�bytesr)�sr
r
r
�as_text_types
rcCs
|�d�S)N�iso-8859-15)rrr
r
r
�decode_iso_8859_15src@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�TestDumpcCs&t�}t�i|�|�|��d�dS�N�{})r�json�dump�assertEqual�getvalue)r�sior
r
r
�	test_dumpszTestDump.test_dumpc	CsjdD]`}|�t�t�|��|k�|�t�t�|g��d|k�|�t�t�d|i��d|k�qdS)N)NTFr�a)Z
assertTruer!�loads�dumps)r�cr
r
r
�test_constantss zTestDump.test_constantscCsBtd�dfdddddtd�dfg}|D]L\}}|�t�t�||i��||i�|�t�tj||id	d
��||i�q&|�ttjtdi�idditd
�dddifD]�}dD]�}t|�}d|t<tdd�|�	�D��}|�t�tj|d	|d��|�|�t�tjd|id	|d��d|i�|�t�tj|gd	|d��|g�q�q�dS)Nr)g�?z1.0)�
Z10)T�true)FZfalse)NZnull�dZ100T��	sort_keys��otherZderpZherp�)FTcss|]\}}t|�|fVqdS�N)r)�.0�key�valr
r
r
�	<genexpr>9sz.TestDump.test_stringify_key.<locals>.<genexpr>)�skipkeysr0�)
rrr#r!r(r)�assertRaises�	TypeError�dict�items)rr>�kZexpect�vr0Zv0Zv1r
r
r
�test_stringify_key%sF

������zTestDump.test_stringify_keycCs|�t�i�d�dSr)r#r!r)rr
r
r
�
test_dumpsDszTestDump.test_dumpsc
CsR|�tjddd�dd�d�|�tjdddtd	�dd
td�ddd
idd�d�dS)NFT)TFr/z{"false": true, "true": false}r3g@g@�r1��7rz3{"2": 3.0, "4.0": 5, "6": true, "7": 0, "false": 1})r#r!r)rrr
r
r
�test_encode_truefalseGs,�����zTestDump.test_encode_truefalsecCs.dddddg}t�t�|��}|�|d�dS)N)Zoner1)Ztwor3)Zthree�)Zfour�)ZfiverCz6{"one": 1, "two": 2, "three": 3, "four": 4, "five": 5})r!r)�OrderedDictr#)rr>rr
r
r
�test_ordered_dictUs�zTestDump.test_ordered_dictcCs8Gdd�dt�}tjdddg|d�d�}|�|d�d	S)
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
        c@s eZdZdZdd�Zdd�ZdS)z@TestDump.test_indent_unknown_type_acceptance.<locals>.AwesomeIntz'An awesome reimplementation of integersc_s(t|�dkr$t|dt�r$|d|_dS)Nr)�lenr�int�_int)r�args�kwargsr
r
r
�__init__mszITestDump.test_indent_unknown_type_acceptance.<locals>.AwesomeInt.__init__cSs t|d�r|j|Std��dS)NrMzOTo do non-awesome things with this object, please construct it from an integer!)�hasattrrM�NotImplementedError)rr2r
r
r
�__mul__xs

zHTestDump.test_indent_unknown_type_acceptance.<locals>.AwesomeInt.__mul__N)rrr�__doc__rPrSr
r
r
r
�
AwesomeIntjsrUrr1r3rG)�indentz[
   0,
   1,
   2
]N)�objectr!r)r#)rrUrr
r
r
�#test_indent_unknown_type_acceptance]s
z,TestDump.test_indent_unknown_type_acceptancecCs&dgd}|�t�t�|��|�dS)Nri��)r#r!r(r))rZlstr
r
r
�test_accumulator�s
zTestDump.test_accumulatorcCsptdd�D]`}tdd�t|�D��}t�}tj||dd�|�|��tj|dd��|�t�|���|�q
dS)Nr3� css|]}t|�|fVqdSr4)�str)r5�xr
r
r
r8�sz*TestDump.test_sort_keys.<locals>.<genexpr>Tr/)	�ranger=rr!r"r#r$r)r()rZnum_keys�pr%r
r
r
�test_sort_keys�szTestDump.test_sort_keyscCshd}|�t�t|��t�|��|�t�t|�g�t�|g��|�t�t|�di�t�|di��dS)Nzthis is some text�*)r#r!r)r	)r�textr
r
r
�test_misbehaving_text_subtype�s�
��z&TestDump.test_misbehaving_text_subtypecCsltd�}|�t�t|��t�|��|�t�t|�g�t�|g��|�t�t|�di�t�|di��dS)Nuthis is some data €r`)rr#r!r)r)r�datar
r
r
�test_misbehaving_bytes_subtype�s�
��z'TestDump.test_misbehaving_bytes_subtypecCs|�t�td��d�|�ttjtd��|�tjtd�dd�d�|�tjtd�dd�d�tr�|jttjtd�dd�|jttjtd�dd�|�tjtd�dtd�d�nL|�tjtd�dd�d�|jttjtd�dd�|jttjtd�dtd�dS)	N�€z"\u20ac"�¤�
iso-8859-1�rz"\u00a4"r�r�default�	r#r!r)rr;�UnicodeDecodeErrorrr<rrr
r
r
�test_bytes_toplevel�s<���������zTestDump.test_bytes_toplevelcCs|�t�td�g�d�|�ttjtd�g�|�tjtd�gdd�d�|�tjtd�gdd�d�tr�|jttjtd�gdd�|jttjtd�gdd�|�tjtd�gdtd�d�nR|�tjtd�gdd�d�|jttjtd�gdd�|jttjtd�gdtd�dS)	Nrez
["\u20ac"]rfrgrhz
["\u00a4"]rrirkrr
r
r
�test_bytes_nested�s<���������zTestDump.test_bytes_nestedcCsd|�t�td�di�d�|�ttjtd�di�|�tjtd�didd�d�|�tjtd�didd�d�tr�|jttjtd�didd�|jttjtd�didd�|jttjtd�didtd	�|�tjtd�didd
d�d�nv|�tjtd�didd�d�|jttjtd�didd�|jttjtd�didtd	�|jttjtd�didd
d�dS)
Nrer`z{"\u20ac": 42}rfrgrhz{"\u00a4": 42}rriT)rr9r rkrr
r
r
�test_bytes_key�sL�����������zTestDump.test_bytes_keyN)rrrr&r+rArBrFrJrXrYr_rbrdrmrnror
r
r
r
rs(	r)ZunittestrZsimplejson.compatrrrrrrZ
simplejsonr!r	rrrrr
r
r
r
�<module>s