ó
jš¤Mc           @   sN   d  d l  Z  d  d l m Z d  d l Z d  d l Z d e f d „  ƒ  YZ d S(   iÿÿÿÿN(   t   TestCaset   TestScanStringc           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   |  j  t j j ƒ d  S(   N(   t   _test_scanstringt
   simplejsont   decodert   py_scanstring(   t   self(    (    sD   /usr/lib/python2.7/dist-packages/simplejson/tests/test_scanstring.pyt   test_py_scanstring   s    c         C   s'   t  j j s d  S|  j t  j j ƒ d  S(   N(   R   R   t   c_scanstringR   (   R   (    (    sD   /usr/lib/python2.7/dist-packages/simplejson/tests/test_scanstring.pyt   test_c_scanstring   s    c         C   sÀ  |  j  | d d d  t ƒ d< ƒ t j d k rP |  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   assertEqualst   Nonet   Truet   syst
   maxunicode(   R   t
   scanstring(    (    sD   /usr/lib/python2.7/dist-packages/simplejson/tests/test_scanstring.pyR      s†    
c         C   s<   |  j  t t j j d d d ƒ |  j  t t j j d ƒ d  S(   Nt   xxxi   s   xxÿ(   t   assertRaisest
   ValueErrort   jsonR   R   t   UnicodeDecodeErrort   encodert   encode_basestring_ascii(   R   (    (    sD   /usr/lib/python2.7/dist-packages/simplejson/tests/test_scanstring.pyt   test_issue3623j   s    	c         C   s9   t  t d t j ƒ } |  j t t j j d | d ƒ d  S(   Nt   maxsizeR   i   (   t   getattrR   t   maxintR   t   OverflowErrorR   R   R   (   R   R   (    (    sD   /usr/lib/python2.7/dist-packages/simplejson/tests/test_scanstring.pyt   test_overflowp   s    (   t   __name__t
   __module__R   R	   R   R   R   (    (    (    sD   /usr/lib/python2.7/dist-packages/simplejson/tests/test_scanstring.pyR      s
   			Z	(   R   t   unittestR    R   R   t   simplejson.decoderR   (    (    (    sD   /usr/lib/python2.7/dist-packages/simplejson/tests/test_scanstring.pyt   <module>   s   