ó
u®¸Qc           @   sn   d  d l  Z  d  d l m Z m Z d e f d „  ƒ  YZ d e e f d „  ƒ  YZ d e e f d „  ƒ  YZ d S(	   iÿÿÿÿN(   t   PyTestt   CTestt   TestScanstringc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sÏ  |  j  j j } |  j | d d d  t ƒ d< ƒ t j d k r_ |  j | d d d  t ƒ d= ƒ n |  j | d d d  t ƒ d> ƒ |  j | d	 d d  t ƒ d? ƒ |  j | d d d  t ƒ d@ ƒ |  j | d d d  t ƒ dA ƒ |  j | d d d  t ƒ dB ƒ |  j | d d d  t ƒ dC ƒ |  j | d d d  t ƒ dD ƒ |  j | d d d  t ƒ dE ƒ |  j | d d d  t ƒ dF ƒ |  j | d  d d  t ƒ dG ƒ |  j | d# d d  t ƒ dH ƒ |  j | d% d d  t ƒ dI ƒ |  j | d' d d  t ƒ dJ ƒ |  j | d* d d  t ƒ dK ƒ |  j | d, d d  t ƒ dL ƒ |  j | d/ d d  t ƒ dM ƒ |  j | d1 d d  t ƒ dN ƒ |  j | d4 d d  t ƒ dO ƒ |  j | d7 d d  t ƒ dP ƒ |  j | d9 d d  t ƒ dQ ƒ d  S(R   Ns   "z\ud834\udd20x"i   u   zð„ xi   iÿÿ  u   "zð„ x"i   i   s   "\u007b"u   {i   s<   "A JSON payload should be an object or array, not a string."u:   A JSON payload should be an object or array, not a string.i<   s   ["Unclosed array"i   u   Unclosed arrayi   s   ["extra comma",]u   extra commai   s   ["double extra comma",,]u   double extra commai   s   ["Comma after the close"],u   Comma after the closei   s   ["Extra close"]]u   Extra closes   {"Extra comma": true,}u   Extra commas:   {"Extra value after close": true} "misplaced quoted value"u   Extra value after closei   s   {"Illegal expression": 1 + 2}u   Illegal expressions   {"Illegal invocation": alert()}u   Illegal invocations+   {"Numbers cannot have leading zeroes": 013}u"   Numbers cannot have leading zeroesi%   s   {"Numbers cannot be hex": 0x14}u   Numbers cannot be hexs2   [[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]u   Too deepi   s   {"Missing colon" null}u   Missing colons   {"Double colon":: null}u   Double coloni   s    {"Comma instead of colon", null}u   Comma instead of coloni   s!   ["Colon instead of comma": false]u   Colon instead of commas   ["Bad value", truth]u	   Bad valuei   (   u   zð„ xi   (   u   zð„ xi   (   u   zð„ xi   (   u   {i   (   u:   A JSON payload should be an object or array, not a string.i<   (   u   Unclosed arrayi   (   u   extra commai   (   u   double extra commai   (   u   Comma after the closei   (   u   Extra closei   (   u   Extra commai   (   u   Extra value after closei   (   u   Illegal expressioni   (   u   Illegal invocationi   (   u"   Numbers cannot have leading zeroesi%   (   u   Numbers cannot be hexi   (   u   Too deepi   (   u   Missing coloni   (   u   Double coloni   (   u   Comma instead of coloni   (   u   Colon instead of commai   (   u	   Bad valuei   (   t   jsont   decodert
   scanstringt   assertEqualt   Nonet   Truet   syst
   maxunicode(   t   selfR   (    (    s0   /sys/lib/python2.7/json/tests/test_scanstring.pyt   test_scanstring   sˆ    
c         C   sB   |  j  t |  j j j d d d ƒ |  j  t |  j j j d ƒ d  S(   Nt   xxxi   s   xxÿ(   t   assertRaisest
   ValueErrorR   R   R   t   UnicodeDecodeErrort   encodert   encode_basestring_ascii(   R   (    (    s0   /sys/lib/python2.7/json/tests/test_scanstring.pyt   test_issue3623a   s    	c         C   s7   |  j  t ƒ " |  j j j d t j d ƒ Wd  QXd  S(   NR   i   (   R   t   OverflowErrorR   R   R   R	   t   maxsize(   R   (    (    s0   /sys/lib/python2.7/json/tests/test_scanstring.pyt   test_overflowg   s    (   t   __name__t
   __module__R   R   R   (    (    (    s0   /sys/lib/python2.7/json/tests/test_scanstring.pyR      s   	[	t   TestPyScanstringc           B   s   e  Z RS(    (   R   R   (    (    (    s0   /sys/lib/python2.7/json/tests/test_scanstring.pyR   l   s    t   TestCScanstringc           B   s   e  Z RS(    (   R   R   (    (    (    s0   /sys/lib/python2.7/json/tests/test_scanstring.pyR   m   s    (   R	   t
   json.testsR    R   t   objectR   R   R   (    (    (    s0   /sys/lib/python2.7/json/tests/test_scanstring.pyt   <module>   s   g