<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    VXÿYÊ  ã            :   @   s²   d dl Z d dlmZ d dlZddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<g:Zd=d>d?œZG d@dA„ dAeƒZdS )Bé    N)ÚTestCasez<"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$["AZ control characters in string"]ú{z{]z{"foo": "bar"]z{"foo": "bar"ZnulZnulxú-z-xz-ez-e0z	-Infinitez-InfZInfinitZInfiniteZNaMZNuNZfalsyZfalZtrugZtruZ1eZ1exz1e-z1e-xzwhy not have a string payload?z,spec doesn't specify any nesting limitations)é   é   c               @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTestFailc          	   C   sn   xht tƒD ]\\}}|d }|tkr.t |¡ q
yt |¡ W n tjk
rR   Y q
X |  d||f ¡ q
W d S )Nr   z$Expected failure for fail%d.json: %r)Ú	enumerateÚJSONDOCSÚSKIPSÚjsonÚloadsÚJSONDecodeErrorÚfail)ÚselfÚidxÚdoc© r   úM/opt/alt/python37/lib64/python3.7/site-packages/simplejson/tests/test_fail.pyÚtest_failuresm   s    
zTestFail.test_failuresc          	   C   s¨   x¢dD ]š}yt  |¡ W n| t jk
rd   t ¡ d }|  |jd¡ |  |jd¡ |  |jd¡ Y q t	k
r”   t ¡ d }|  
d||f ¡ Y qX |  
d¡ qW d S )N)z[,]z[,]r   é   z!Unexpected exception raised %r %sz Unexpected success parsing '[,]')r   r   r   ÚsysÚexc_infoÚassertEqualÚposÚlinenoÚcolnoÚ	Exceptionr   )r   r   Úer   r   r   Útest_array_decoder_issue46z   s    
z#TestFail.test_array_decoder_issue46c             C   sö   ddddddddd	d
ddddddddg}xÈ|D ]À\}}}yt  |¡ W n– t jk
r¬   t ¡ d }|  |jd t|ƒ… |d|j||f ¡ |  |j|d|j||f ¡ Y q. t	k
rÜ   t ¡ d }|  
d||f ¡ Y q.X |  
d|f ¡ q.W d S )N)Ú zExpecting valuer   )ú[zExpecting value or ']'r   )z[42zExpecting ',' delimiteré   )z[42,zExpecting valueé   )z["zUnterminated string starting atr   )z["spamzUnterminated string starting atr   )z["spam"zExpecting ',' delimiteré   )z["spam",zExpecting valueé   )r   z1Expecting property name enclosed in double quotesr   )z{"zUnterminated string starting atr   )z{"spamzUnterminated string starting atr   )z{"spam"zExpecting ':' delimiterr#   )z{"spam":zExpecting valuer$   )z
{"spam":42zExpecting ',' delimiteré
   )z{"spam":42,z1Expecting property name enclosed in double quotesé   )ú"zUnterminated string starting atr   )z"spamzUnterminated string starting atr   )z[,zExpecting valuer   r   z%r doesn't start with %r for %rzpos %r != %r for %rz!Unexpected exception raised %r %szUnexpected success parsing '%r')r   r   r   r   r   r   ÚmsgÚlenr   r   r   )r   Z
test_casesÚdatar(   r   r   r   r   r   Útest_truncated_inputŠ   sD    zTestFail.test_truncated_inputN)Ú__name__Ú
__module__Ú__qualname__r   r   r+   r   r   r   r   r   l   s   r   )r   Zunittestr   Z
simplejsonr   r	   r
   r   r   r   r   r   Ú<module>   s~   