HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/simplejson/tests/__pycache__/test_dump.cpython-310.pyc
o

\Փat(�@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)�MisbehavingTextSubtypecC�dS)NzFAIL!���selfrr�</usr/lib/python3/dist-packages/simplejson/tests/test_dump.py�__str__�zMisbehavingTextSubtype.__str__N)�__name__�
__module__�__qualname__rrrrrr	sr	c@s&eZdZddd�Zdd�Zdd�ZdS)	�MisbehavingBytesSubtypeNcCr
)Nz
bad decoder)r
�encodingrrr�decode
rzMisbehavingBytesSubtype.decodecCr
)Nzbad __str__rrrrrrrzMisbehavingBytesSubtype.__str__cCstd�S)Nz
bad __bytes__�rrrrr�	__bytes__sz!MisbehavingBytesSubtype.__bytes__�N)rrrrrrrrrrr	s
rcCstrt|t�r|�d�S|S)N�ascii)r�
isinstance�bytesr)�srrr�as_text_types
rcCs
|�d�S)N�iso-8859-15)rrrrr�decode_iso_8859_15s
r c@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
�siorrr�	test_dumpszTestDump.test_dumpc	CsjdD]0}|�t�t�|��|u�|�t�t�|g��d|u�|�t�t�d|i��d|u�qdS)N)NTFr�a)�
assertTruer$�loads�dumps)r
�crrr�test_constantss
 $�zTestDump.test_constantscCsBtd�dfdddddtd�dfg}|D]&\}}|�t�t�||i��||i�|�t�tj||id	d
��||i�q|�ttjtdi�idditd
�dddifD]M}dD]H}t|�}d|t<tdd�|�	�D��}|�t�tj|d	|d��|�|�t�tjd|id	|d��d|i�|�t�tj|gd	|d��|g�qUqQdS)Nr)g�?z1.0)�
�10)T�true)F�false)N�null�d�100T��	sort_keys��other�derp�herp�)FTcss �|]\}}t|�|fVqdSr)r)�.0�key�valrrr�	<genexpr>9s�z.TestDump.test_stringify_key.<locals>.<genexpr>)�skipkeysr8�)
rrr&r$r,r-�assertRaises�	TypeError�dict�items)r
rG�k�expect�vr8�v0�v1rrr�test_stringify_key%sJ

��������zTestDump.test_stringify_keycCs|�t�i�d�dSr")r&r$r-rrrr�
test_dumpsDszTestDump.test_dumpsc
CsR|�tjddd�dd�d�|�tjdddtd	�dd
td�ddd
idd�d�dS)NFT)TFr7z{"false": true, "true": false}r=g@g@�r9��7rz3{"2": 3.0, "4.0": 5, "6": true, "7": 0, "false": 1})r&r$r-rrrrr�test_encode_truefalseGs"
�����zTestDump.test_encode_truefalsecCs(gd�}t�t�|��}|�|d�dS)N))�oner9)�twor=)�three�)�four�)�fiverOz6{"one": 1, "two": 2, "three": 3, "four": 4, "five": 5})r$r-�OrderedDictr&)r
rGrrrr�test_ordered_dictUs�zTestDump.test_ordered_dictcCs6Gdd�dt�}tjgd�|d�d�}|�|d�dS)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_s0t|�dkrt|dt�r|d|_dSdSdS)Nr)�lenr�int�_int)r
�args�kwargsrrr�__init__ms
�zITestDump.test_indent_unknown_type_acceptance.<locals>.AwesomeInt.__init__cSst|d�r
|j|Std��)Nr^zOTo do non-awesome things with this object, please construct it from an integer!)�hasattrr^�NotImplementedError)r
r:rrr�__mul__xs

zHTestDump.test_indent_unknown_type_acceptance.<locals>.AwesomeInt.__mul__N)rrr�__doc__rardrrrr�
AwesomeIntjsrf)rr9r=rV)�indentz[
   0,
   1,
   2
]N)�objectr$r-r&)r
rfrrrr�#test_indent_unknown_type_acceptance]s
z,TestDump.test_indent_unknown_type_acceptancecCs&dgd}|�t�t�|��|�dS)Nri��)r&r$r,r-)r
�lstrrr�test_accumulator�s
zTestDump.test_accumulatorcCsptdd�D]0}tdd�t|�D��}t�}tj||dd�|�|��tj|dd��|�t�|���|�qdS)Nr=� css�|]	}t|�|fVqdSr)�str)r>�xrrrrA�s�z*TestDump.test_sort_keys.<locals>.<genexpr>Tr7)	�rangerFrr$r%r&r'r-r,)r
�num_keys�pr(rrr�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
�textrrr�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 €rs)rr&r$r-r)r
�datarrr�test_misbehaving_bytes_subtype�s�
��z'TestDump.test_misbehaving_bytes_subtypecCs|�t�td��d�|�ttjtd��|�tjtd�dd�d�|�tjtd�dd�d�trY|jttjtd�dd�|jttjtd�dd�|�tjtd�dtd�d�dS|�tjtd�dd�d�|jttjtd�dd�|jttjtd�dtd�dS)	N�€z"\u20ac"�¤�
iso-8859-1�rz"\u00a4"r�r�default�	r&r$r-rrD�UnicodeDecodeErrorrrEr rrrr�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�dS|�tjtd�gdd�d�|jttjtd�gdd�|jttjtd�gdtd�dS)	Nrxz
["\u20ac"]ryrzr{z
["\u00a4"]rr|r~rrrr�test_bytes_nested�s:��������
�zTestDump.test_bytes_nestedcCsf|�t�td�di�d�|�ttjtd�di�|�tjtd�didd�d�|�tjtd�didd�d�trv|jttjtd�didd�|jttjtd�didd�|jttjtd�didtd	�|�tjtd�didd
d�d�dS|�tjtd�didd�d�|jttjtd�didd�|jttjtd�didtd	�|jttjtd�didd
d�dS)
Nrxrsz{"\u20ac": 42}ryrzr{z{"\u00a4": 42}rr|T)rrBr#r~rrrr�test_bytes_key�sF����������
�zTestDump.test_bytes_keyN)rrrr)r/rMrNrRr[rirkrrrurwr�r�r�rrrrr!s(	r!)�unittestr�simplejson.compatrrrrrr�
simplejsonr$r	rrr r!rrrr�<module>s