£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
B
    VXY                 @   sH   d dl Z d dlmZ d dlZd dlZd dlmZmZ G dd deZ	dS )    N)TestCase)bPY3c               @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )TestScanStringc             C   s   |  tjj d S )N)_test_scanstring
simplejsondecoderZpy_scanstring)self r
   S/opt/alt/python37/lib64/python3.7/site-packages/simplejson/tests/test_scanstring.pytest_py_scanstring   s    z!TestScanString.test_py_scanstringc             C   s   t jjsd S | t jj d S )N)r   r   Zc_scanstringr   )r	   r
   r
   r   test_c_scanstring   s    z TestScanString.test_c_scanstringc          	   C   s  t jdkr"| |ddd dd n| |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 | |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* | |d+dd dd, | |d-dd dd. xPtttd/d0D ]<}| ||d1 d/d d2|df | t||d1 d/d d qW | t|d3d/d d | t|d4d/d d | t|d5d/d d | t|d6d/d d | t|d7d/d d | t|d8d/d d | t|d9d/d d | t|d:d/d d t jdkr | t|d;d/d d | t|d<d/d d d S )=Ni  u   "z𝄠x"   T)u   z𝄠x   )u   z𝄠x   z"\u007b"){   z<"A JSON payload should be an object or array, not a string.")z:A JSON payload should be an object or array, not a string.<   z["Unclosed array"   )zUnclosed array   z["extra comma",])zextra comma   z["double extra comma",,])zdouble extra comma   z["Comma after the close"],)zComma after the close   z["Extra close"]])zExtra closer   z{"Extra comma": true,})zExtra commar   z:{"Extra value after close": true} "misplaced quoted value")zExtra value after close   z{"Illegal expression": 1 + 2})zIllegal expressionr   z{"Illegal invocation": alert()})zIllegal invocationr   z+{"Numbers cannot have leading zeroes": 013})z"Numbers cannot have leading zeroes%   z{"Numbers cannot be hex": 0x14})zNumbers cannot be hexr   z2[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]r   )zToo deep   z{"Missing colon" null})zMissing colon   z{"Double colon":: null})zDouble colon   z {"Comma instead of colon", null})zComma instead of colon   z!["Colon instead of comma": false])zColon instead of commar   z["Bad value", truth])z	Bad value   r      "F a\z\uz\u0z\u01z\u012z\u0123z	\ud834\u"z\ud834\x0123")sys
maxunicodeassertEqualmapchrrangeassertRaises
ValueError)r	   
scanstringcr
   r
   r   r      s    

zTestScanString._test_scanstringc             C   s0   |  ttjjddd |  ttjjtd d S )Nxxxr   u   xxÿ)	r+   r,   jsonr   r-   UnicodeDecodeErrorencoderZencode_basestring_asciir   )r	   r
   r
   r   test_issue3623   s    zTestScanString.test_issue3623c             C   s<   t tdt tdd }|d k	s t| ttjjd|d  d S )NmaxsizeZmaxintr/   r   )getattrr%   AssertionErrorr+   OverflowErrorr0   r   r-   )r	   r4   r
   r
   r   test_overflow   s    zTestScanString.test_overflowc                s   t jj d fdd	}|dd |dd |dd	 |d
d |dd |dd |ddddg |ddddg |dddgdddgdd t ddd d t ddd d d S )NTc                s^   | g}t s|r|| d x:|D ]2}  | dd d\}}t| | || q$W d S )Nutf8r   T)r   appendencoder'   len)ZgivenZexpect	test_utf8Zgivensrescount)r-   r	   r
   r   
assertScan   s    
z2TestScanString.test_surrogates.<locals>.assertScanz"z\ud834\u0079x"u   zyxz"z\ud834\udd20x"u   z𝄠xz"z\ud834\ud834\udd20x"u	   z𝄠xz
"z\ud834x"u   zxz
"z\udd20x"u   zxu   "zx"u   "z\ud834x12345"r"   u   zu	   x12345u   "z\udd20x"u   xu   "zu   x"F)r=   z	"z\ud83x"r   z"z\ud834\udd2x")T)r0   r   r-   joinr+   r,   )r	   r@   r
   )r-   r	   r   test_surrogates   sD    	zTestScanString.test_surrogatesN)	__name__
__module____qualname__r   r   r   r3   r8   rB   r
   r
   r
   r   r      s   	lr   )
r%   Zunittestr   r   r0   Zsimplejson.decoderZsimplejson.compatr   r   r   r
   r
   r
   r   <module>   s
   