Your IP : 216.73.216.85


Current Path : /opt/alt/python37/lib64/python3.7/test/test_json/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/test/test_json/__pycache__/test_decode.cpython-37.pyc

B

� f��@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�?/opt/alt/python37/lib64/python3.7/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
rrrr�
test_floatszTestDecode.test_floatcCs:|�|�d�i�|�|�d�g�|�|�d�d�dS)Nz{}z[]z""�)rr)r
rrr�test_empty_objectsszTestDecode.test_empty_objectscCs�d}dddddddg}|�|�|�t|��|�|j|d	d
�d�|�|�|jjt|�dd
�d�|�|j|td�}|�|t|��|�t|�t�|�|j|td
d
�d�t|��|�|jdtd�t��|�|jdtd�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�cSs|S)Nr)�xrrr�<lambda>�z3TestDecode.test_object_pairs_hook.<locals>.<lambda>)�object_pairs_hookcSs|S)Nr)rrrrrr cSsdS)Nr)rrrrr%r )r!Zobject_hookz{}z
{"empty": {}}�empty)rr�eval�json�loadrr�type)r
�s�pZodrrr�test_object_pairs_hooks$



z!TestDecode.test_object_pairs_hookcCs |�d�}|�|ddd��dS)Nz,{   "key"    :    "value"    ,  "k":"v"    }�value�v)�key�k)rr)r
rrrr�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}])r5rr$�decoder�JSONDecoder�decodeZassertFalseZmemo)r
r'r6rrr�test_keys_reuse;s
zTestDecode.test_keys_reusecCs d}d}|�|j||j|�dS)Nz
[1, 2, 3]5z
Extra data)�assertRaisesRegex�JSONDecodeErrorr)r
r'�msgrrr�test_extra_dataBszTestDecode.test_extra_datacCs d}d}|�|j||j|�dS)Nz	["abc\y"]�escape)r:r;r)r
r'r<rrr�test_invalid_escapeGszTestDecode.test_invalid_escapecCs2d}x(ddgidgD]}|�t||j|�qWdS)Nzthe JSON object must be strrg��Q�	@)r:�	TypeErrorr)r
r<r*rrr�test_invalid_input_typeLsz"TestDecode.test_invalid_input_typec	Cs�d�d��d�}|�|j��}|�|�WdQRX|�dt|j��|�|j��}|j�	t
|��WdQRX|�dt|j��d�d�d��d��}|�|�|�d�|�|j�	t
|��d�dS)Nz[1,2,3]z	utf-8-sigzutf-8�BOMz"{}"ru)
�encoder8�assertRaisesr;rZassertIn�strZ	exceptionr$r%r�formatr)r
Zbom_json�cmZ
bom_in_strrrr�test_string_with_utf8_bomQsz$TestDecode.test_string_with_utf8_bomcCs |j��}|�t|jdd�dS)NZ*aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai�<��)r$r7rD�
ValueErrorZ
raw_decode)r
r4rrr�test_negative_index_s
zTestDecode.test_negative_indexc
CsTd}t�|��<|�d|�|�t��|�d|d�WdQRXWdQRXdS)Ni�rr)rZadjust_int_max_str_digitsrrDrI)r
Z	maxdigitsrrr�test_limit_intcs
zTestDecode.test_limit_intN)�__name__�
__module__�__qualname__rrrr)r.r5r9r=r?rArHrJrKrrrrrsrc@seZdZdS)�TestPyDecodeN)rLrMrNrrrrrOjsrOc@seZdZdS)�TestCDecodeN)rLrMrNrrrrrPksrP)
r	�ior�collectionsrZtest.test_jsonrrZtestrrrOrPrrrr�<module>sb