File: //usr/local/lib/python3.10/test/test_json/__pycache__/test_fail.cpython-310.pyc
o
�iq# � @ sX d dl mZmZ g d�Zddd�ZG dd� d�ZG dd � d ee�ZG d
d� dee�ZdS )
� )�PyTest�CTest)"z<"A JSON payload should be an object or array, not a string."z["Unclosed array"z%{unquoted_key: "keys must be quoted"}z["extra comma",]z["double extra comma",,]z[ , "<-- missing value"]z["Comma after the close"],z["Extra close"]]z{"Extra comma": true,}z:{"Extra value after close": true} "misplaced quoted value"z{"Illegal expression": 1 + 2}z{"Illegal invocation": alert()}z+{"Numbers cannot have leading zeroes": 013}z{"Numbers cannot be hex": 0x14}z"["Illegal backslash escape: \x15"]z[\naked]z"["Illegal backslash escape: \017"]z2[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]z{"Missing colon" null}z{"Double colon":: null}z {"Comma instead of colon", null}z!["Colon instead of comma": false]z["Bad value", truth]z['single quote']z[" tab character in string "]z&["tab\ character\ in\ string\ "]z["line
break"]z["line\
break"]z[0e]z[0e+]z[0e+-1]z({"Comma instead if closing brace": true,z["mismatch"}z$["AZ control characters in string"]zwhy not have a string payload?z,spec doesn't specify any nesting limitations)� � c @ sD e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dS )�TestFailc C sh t t�D ]-\}}|d }|tv r| �|� qz| �|� W n
| jy' Y qw | �d�||�� qd S )Nr z(Expected failure for fail{0}.json: {1!r})� enumerate�JSONDOCS�SKIPS�loads�JSONDecodeErrorZfail�format)�self�idx�doc� r �5/usr/local/lib/python3.10/test/test_json/test_fail.py�
test_failuresQ s
��zTestFail.test_failuresc C sF ddd�}| � td�� | �|� W d � d S 1 sw Y d S )Nr � )�a)r r z5keys must be str, int, float, bool or None, not tuple)�assertRaisesRegex� TypeError�dumps)r
�datar r r �test_non_string_keys_dict^ s
�"�z"TestFail.test_non_string_keys_dictc C sD dd l }| �td�� | �|� W d � d S 1 sw Y d S )Nr z.Object of type module is not JSON serializable)�sysr r r )r
r r r r �test_not_serializabled s �"�zTestFail.test_not_serializablec C � g d�}|ddg7 }|D ]P\}}}| � | j��
}| �|� W d � n1 s'w Y |j}| �|j|� | �|j|� | �|jd� | �|j|d � | �t |�d||d |f � qd S )N))� �Expecting valuer )�[r r )z[42�Expecting ',' delimiter� )z[42,r � )z["�Unterminated string starting atr )z["spamr# r )z["spam"r � )z["spam",r � )�{�1Expecting property name enclosed in double quotesr )z{"r# r )z{"spamr# r )z{"spam"�Expecting ':' delimiterr$ )z{"spam":r r% )z
{"spam":42r �
)z{"spam":42,r'