Your IP : 216.73.216.213


Current Path : /opt/alt/python310/lib64/python3.10/test/test_json/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/test/test_json/__pycache__/test_decode.cpython-310.opt-2.pyc

o

0�i��@srddlZddlmZddlmZddlmZmZddlm	Z	Gdd�d�Z
Gdd	�d	e
e�ZGd
d�de
e�ZdS)�N)�StringIO)�OrderedDict)�PyTest�CTest)�supportc@steZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�
TestDecodecCs8|jdtjd�}|�t|tj��|�|t�d��dS)Nz1.1)Zparse_float)�loads�decimalZDecimal�
assertTrue�
isinstance�assertEqual��self�rval�r�A/opt/alt/python310/lib64/python3.10/test/test_json/test_decode.py�test_decimal	szTestDecode.test_decimalcCs.|jdtd�}|�t|t��|�|d�dS)N�1)Z	parse_intg�?)r�floatr
rrr
rrr�
test_floatszTestDecode.test_floatcCs:|�|�d�i�|�|�d�g�|�|�d�d�dS)N�{}z[]z""�)rr)rrrr�test_empty_objectsszTestDecode.test_empty_objectscCs�d}gd�}|�|�|�t|��|�|j|dd�d�|�|�|jjt|�dd�d�|�|j|td�}|�|t|��|�t|�t�|�|j|tdd�d�t|��|�|jd	td�t��|�|jd
td�tdt�fg��dS)Nz?{"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7}))Zxkd�)Zkcw�)Zart�)Zhxm�)Zqrt�)Zpad�)Zhoy�cS�|S�Nr��xrrr�<lambda>�z3TestDecode.test_object_pairs_hook.<locals>.<lambda>)�object_pairs_hookcSr r!rr"rrrr$r%cSsdSr!rr"rrrr$%r%)r&Zobject_hookrz
{"empty": {}}�empty)rr�eval�json�loadrr�type)r�s�pZodrrr�test_object_pairs_hooks2�����
��z!TestDecode.test_object_pairs_hookcCs |�d�}|�|ddd��dS)Nz,{   "key"    :    "value"    ,  "k":"v"    }�value�v)�key�k)rrr
rrr�test_decoder_optimizations.s
z%TestDecode.test_decoder_optimizationscCsF||�}t|d�t|d�\}}\}}|�||�|�||�dS)Nrr)�sortedZassertIs)r�sourcerr�a�b�c�drrr�check_keys_reuse5s"zTestDecode.check_keys_reusecCs<d}|�||j�|jj��}|�||j�|�|j�dS)Nu2[{"a_key": 1, "b_é": 2}, {"a_key": 3, "b_é": 4}])r:rr)�decoder�JSONDecoder�decodeZassertFalseZmemo)rr,r;rrr�test_keys_reuse;s
zTestDecode.test_keys_reusecC� d}d}|�|j||j|�dS)Nz
[1, 2, 3]5z
Extra data��assertRaisesRegex�JSONDecodeErrorr�rr,�msgrrr�test_extra_dataB�zTestDecode.test_extra_datacCr?)Nz	["abc\y"]�escaper@rCrrr�test_invalid_escapeGrFzTestDecode.test_invalid_escapecCs.d}ddgidfD]}|�t||j|�q	dS)Nzthe JSON object must be strrg��Q�	@)rA�	TypeErrorr)rrDr/rrr�test_invalid_input_typeLs�z"TestDecode.test_invalid_input_typecCs�d�d��d�}|�|j��
}|�|�Wd�n1swY|�dt|j��|�|j��}|j�	t
|��Wd�n1sEwY|�dt|j��d�d�d��d��}|�|�|�d�|�|j�	t
|��d�dS)Nz[1,2,3]z	utf-8-sigzutf-8�BOMz"{}"ru)
�encoder=�assertRaisesrBrZassertIn�strZ	exceptionr)r*r�formatr)rZbom_json�cmZ
bom_in_strrrr�test_string_with_utf8_bomQs��z$TestDecode.test_string_with_utf8_bomcCs |j��}|�t|jdd�dS)NZ*aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai�<��)r)r<rM�
ValueErrorZ
raw_decode)rr9rrr�test_negative_index_s
zTestDecode.test_negative_indexc	Cs�d}t�|��6|�d|�|�t��|�d|d�Wd�n1s(wYWd�dSWd�dS1s@wYdS)Ni�rr)rZadjust_int_max_str_digitsrrMrR)rZ	maxdigitsrrr�test_limit_intcs��"�zTestDecode.test_limit_intN)�__name__�
__module__�__qualname__rrrr.r3r:r>rErHrJrQrSrTrrrrrsrc@�eZdZdS)�TestPyDecodeN�rUrVrWrrrrrYk�rYc@rX)�TestCDecodeNrZrrrrr\lr[r\)
r	�ior�collectionsrZtest.test_jsonrr�testrrrYr\rrrr�<module>sc