HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //opt/alt/python312/lib64/python3.12/test/test_json/__pycache__/test_decode.cpython-312.opt-2.pyc
�

h�e����ddlZddlmZddlmZddlmZmZddlm	Z	Gd�d�Z
Gd�d	e
e�ZGd
�de
e�Zy)�N)�StringIO)�OrderedDict)�PyTest�CTest)�supportc�Z�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zy)�
TestDecodec���|jdtj��}|jt	|tj��|j|tjd��y)Nz1.1)�parse_float)�loads�decimal�Decimal�
assertTrue�
isinstance�assertEqual��self�rvals  �A/opt/alt/python312/lib64/python3.12/test/test_json/test_decode.py�test_decimalzTestDecode.test_decimal	sH���z�z�%�W�_�_�z�=�����
�4����9�:�����w���u�5�6�c��|jdt��}|jt|t��|j	|d�y)N�1)�	parse_intg�?)r�floatrrrrs  r�
test_floatzTestDecode.test_floats7���z�z�#��z�/�����
�4��/�0�����s�#rc���|j|jd�i�|j|jd�g�|j|jd�d�y)N�{}z[]z""�)rr)rs r�test_empty_objectszTestDecode.test_empty_objectssM��������D�)�2�.�������D�)�2�.�������D�)�2�.rc���d}gd�}|j|j|�t|��|j|j|d���|�|j|jj	t|�d���|�|j|t��}|j|t
|��|jt|�t�|j|j|td���t
|��|j|jdt��t
��|j|jd	t��t
d
t
�fg��y)Nz?{"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7}))�xkd�)�kcw�)�art�)�hxm�)�qrt�)�pad�)�hoy�c��|S�N���xs r�<lambda>z3TestDecode.test_object_pairs_hook.<locals>.<lambda>s��1�r)�object_pairs_hookc��|Sr1r2r3s rr5z3TestDecode.test_object_pairs_hook.<locals>.<lambda>s��A�rc��yr1r2r3s rr5z3TestDecode.test_object_pairs_hook.<locals>.<lambda>%s�r)r6�object_hookrz
{"empty": {}}�empty)rr�eval�json�loadrr�type)r�s�p�ods    r�test_object_pairs_hookz!TestDecode.test_object_pairs_hooks9��M��
1��������A���Q��0�������A���E�q�I������������:E�(�G�HI�	K�
�Z�Z��[�Z�
9������[��^�,�����b��;�/�������A��0>�$�@�$�Q��	)�	
������D�K��H�$��	(�������O�6A�$�C�$�w��
�&>�%?�@�	Brc�P�|jd�}|j|ddd��y)Nz,{   "key"    :    "value"    ,  "k":"v"    }�value�v)�key�k)rrrs  r�test_decoder_optimizationsz%TestDecode.test_decoder_optimizations.s(���z�z�H�I������g�3�7�8rc��||�}t|d�t|d�c\}}\}}|j||�|j||�y)Nrr#)�sorted�assertIs)r�sourcerr�a�b�c�ds        r�check_keys_reusezTestDecode.check_keys_reuse5sJ���V�}����Q���&��a��/����A���A��
�
�a����
�
�a��rc��d}|j||j�|jjj	�}|j||j
�|j
|j�y)Nu2[{"a_key": 1, "b_é": 2}, {"a_key": 3, "b_é": 4}])rQrr<�decoder�JSONDecoder�decode�assertFalse�memo)rr?rSs   r�test_keys_reusezTestDecode.test_keys_reuse;sY��D�����a����,��)�)�#�#�/�/�1�����a����0�������&rc�\�d}d}|j|j||j|�y)Nz
[1, 2, 3]5z
Extra data��assertRaisesRegex�JSONDecodeErrorr�rr?�msgs   r�test_extra_datazTestDecode.test_extra_dataBs*���������t�3�3�S�$�*�*�a�Hrc�\�d}d}|j|j||j|�y)Nz	["abc\y"]�escaperZr]s   r�test_invalid_escapezTestDecode.test_invalid_escapeGs*���������t�3�3�S�$�*�*�a�Hrc�d�d}ddgidfD]$}|jt||j|��&y)Nzthe JSON object must be strr#g��Q�	@)r[�	TypeErrorr)rr^rDs   r�test_invalid_input_typez"TestDecode.test_invalid_input_typeLs;��+����r�2�t�,�	F�E��"�"�9�c�4�:�:�u�E�	Frc��djd�jd�}|j|j�5}|j	|�ddd�|jdt
j��|j|j�5}|jjt|��ddd�|jdt
|j��djdjd�jd��}|j|j	|�d�|j|jjt|��d�y#1swY��!xYw#1swY��xYw)Nz[1,2,3]z	utf-8-sigzutf-8�BOMz"{}"ru)
�encoderU�assertRaisesr\r�assertIn�str�	exceptionr<r=r�formatr)r�bom_json�cm�
bom_in_strs    r�test_string_with_utf8_bomz$TestDecode.test_string_with_utf8_bomQs���#�#�K�0�7�7��@��
�
�
�t�3�3�
4�	!���J�J�x� �	!��
�
�e�S����.�/�
�
�
�t�3�3�
4�	/���I�I�N�N�8�H�-�.�	/��
�
�e�S����.�/��]�]�2�9�9�[�#9�#@�#@��#I�J�
�������J�/��:�����������(<�=�x�H�	!�	!��	/�	/�s�E-�%E:�-E7�:Fc�|�|jj�}|jt|jdd�y)N�*aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai�<��)r<rTri�
ValueError�
raw_decode)rrPs  r�test_negative_indexzTestDecode.test_negative_index_s,���I�I�!�!�#�����*�a�l�l�F�F�Crc��d}tj|�5|jd|z�|jt�5|jd|dzz�ddd�ddd�y#1swY�xYw#1swYyxYw)Ni�rr#)r�adjust_int_max_str_digitsrrirt)r�	maxdigitss  r�test_limit_intzTestDecode.test_limit_intcsw���	�
�
.�
.�y�
9�	2��J�J�s�Y��'��"�"�:�.�
2��
�
�3�)�a�-�0�1�
2�	2�	2�
2�
2��	2�	2�s#�*A7�A+�A7�+A4	�0A7�7BN)�__name__�
__module__�__qualname__rrr rBrHrQrXr_rbrerqrvrzr2rrr	r	sI��7�
$�
/�
B�,9��'�I�
I�
F�
I�D�2rr	c��eZdZy)�TestPyDecodeN�r{r|r}r2rrrrk��rrc��eZdZy)�TestCDecodeNr�r2rrr�r�lr�rr�)
r
�ior�collectionsr�test.test_jsonrr�testrr	rr�r2rr�<module>r�s7����#�(��`2�`2�F-�:�v�,�*�*�e�*r