HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/test_json/__pycache__/test_recursion.cpython-37.opt-1.pyc
B

��g��@sTddlmZmZGdd�d�ZGdd�d�ZGdd�dee�ZGdd	�d	ee�Zd
S)�)�PyTest�CTestc@seZdZdS)�JSONTestObjectN)�__name__�
__module__�__qualname__�rr�9/usr/local/lib/python3.7/test/test_json/test_recursion.pyrsrc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�
TestRecursioncCs�g}|�|�y|�|�Wntk
r0YnX|�d�g}|g}|�|�y|�|�Wntk
rrYnX|�d�g}||g}|�|�dS)Nz)didn't raise ValueError on list recursionz5didn't raise ValueError on alternating list recursion)�append�dumps�
ValueError�fail)�self�x�yrrr	�test_listrecursion	s$



z TestRecursion.test_listrecursioncCsVi}||d<y|�|�Wntk
r.YnX|�d�i}||d�}|�|�dS)NZtestz)didn't raise ValueError on dict recursion)�a�b)rr
r)rrrrrr	�test_dictrecursion s

z TestRecursion.test_dictrecursioncCsdGdd�d|jj�}|�}|�|�t�d�d|_y|�t�Wntk
rTYnX|�d�dS)Nc@seZdZdZdd�ZdS)zATestRecursion.test_defaultrecursion.<locals>.RecursiveJSONEncoderFcSs$|tkr|jrtgSdStj�|�S)Nr)r�recurseZpyjson�JSONEncoder�default)r�orrr	r1s
zITestRecursion.test_defaultrecursion.<locals>.RecursiveJSONEncoder.defaultN)rrrrrrrrr	�RecursiveJSONEncoder/srz"JSONTestObject"Tz,didn't raise ValueError on default recursion)�jsonrZassertEqual�encoderrr
r)rr�encrrr	�test_defaultrecursion.s
z#TestRecursion.test_defaultrecursionc	Cs�|�t�� |�ddddd�WdQRX|�t�� |�ddddd�WdQRX|�t�� |�ddddd�WdQRXdS)Nz{"a":i���1�}z[1]�[�])�assertRaises�RecursionError�loads)rrrr	�#test_highly_nested_objects_decodingDs$$z1TestRecursion.test_highly_nested_objects_decodingc	Cspgi}}x td�D]}|gd|i}}qW|�t��|�|�WdQRX|�t��|�|�WdQRXdS)Ni���k)�ranger#r$r)r�l�drrrr	�#test_highly_nested_objects_encodingNs
z1TestRecursion.test_highly_nested_objects_encodingc	Cs>Gdd�d|jj�}|�t��|dd��d�WdQRXdS)Nc@seZdZdd�ZdS)z@TestRecursion.test_endless_recursion.<locals>.EndlessJSONEncodercSs|gS)z?If check_circular is False, this will keep adding another list.r)rrrrr	r[szHTestRecursion.test_endless_recursion.<locals>.EndlessJSONEncoder.defaultN)rrrrrrrr	�EndlessJSONEncoderZsr,F)Zcheck_circulary@)rrr#r$r)rr,rrr	�test_endless_recursionXsz$TestRecursion.test_endless_recursionN)	rrrrrrr&r+r-rrrr	r
s

r
c@seZdZdS)�TestPyRecursionN)rrrrrrr	r.csr.c@seZdZdS)�TestCRecursionN)rrrrrrr	r/dsr/N)Ztest.test_jsonrrrr
r.r/rrrr	�<module>s[