ó
ÖÉÎSc           @@  sr   d  d l  m Z d  d l Z d  d l m Z d  d l Z d  d l m Z d  d l m	 Z	 d e f d „  ƒ  YZ
 d S(   i    (   t   absolute_importN(   t   TestCase(   t   StringIO(   t   OrderedDictt
   TestDecodec           B@  s†   e  Z e e d  ƒ s! d „  Z n  d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z RS(   t   assertIsc         C@  s$   |  j  | | k d | | f ƒ d  S(   Ns   %r is %r(   t
   assertTrue(   t   selft   at   b(    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyR      s    c         C@  sN   t  j d d t j ƒ} |  j t | t j ƒ ƒ |  j | t j d ƒ ƒ d  S(   Ns   1.1t   parse_float(   t   jsont   loadst   decimalt   DecimalR   t
   isinstancet   assertEqual(   R   t   rval(    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyt   test_decimal   s    c         C@  s?   t  j d d t ƒ} |  j t | t ƒ ƒ |  j | d ƒ d  S(   Nt   1t	   parse_intg      ð?(   R   R   t   floatR   R   R   (   R   R   (    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyt
   test_float   s    c         C@  s1   t  j d ƒ } |  j | i d d 6d d 6ƒ d  S(   Ns,   {   "key"    :    "value"    ,  "k":"v"    }t   valuet   keyt   vt   k(   R   R   R   (   R   R   (    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyt   test_decoder_optimizations   s    c         C@  ss   d } |  j  t j | ƒ t | ƒ ƒ d } |  j  t j | ƒ t | ƒ ƒ d } |  j  t j | ƒ t | ƒ ƒ d  S(   Ns   {}s   []s   ""(   R   R   R   t   eval(   R   t   s(    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyt   test_empty_objects   s    c         C@  sý   d } d d d d d d d g } |  j  t j | ƒ t | ƒ ƒ |  j  t j | d d „  ƒ| ƒ |  j  t j t | ƒ d d „  ƒ| ƒ t j | d t ƒ} |  j  | t | ƒ ƒ |  j  t | ƒ t ƒ |  j  t j | d t d d „  ƒt | ƒ ƒ d  S(   Ns?   {"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7}t   xkdi   t   kcwi   t   arti   t   hxmi   t   qrti   t   padi   t   hoyi   t   object_pairs_hookc         S@  s   |  S(   N(    (   t   x(    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyt   <lambda>,   s    c         S@  s   |  S(   N(    (   R'   (    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyR(   .   s    t   object_hookc         S@  s   d  S(   N(   t   None(   R'   (    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyR(   5   s    (   R   i   (   R    i   (   R!   i   (   R"   i   (   R#   i   (   R$   i   (   R%   i   (   R   R   R   R   t   loadR   R   t   type(   R   R   t   pt   od(    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyt   test_object_pairs_hook'   s    "	c         C@  s]   | | ƒ } t  | d ƒ t  | d ƒ \ } } \ } } |  j | | ƒ |  j | | ƒ d  S(   Ni    i   (   t   sortedR   (   R   t   sourceR   R   R   R	   t   ct   d(    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyt   check_keys_reuse8   s    -c         C@  s&   d j  d ƒ } |  j | t j ƒ d  S(   Nu2   [{"a_key": 1, "b_Ã©": 2}, {"a_key": 3, "b_Ã©": 4}]t   utf8(   t   encodeR4   R   R   (   R   R   (    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyt   test_keys_reuse_str>   s    c         C@  s   d } |  j  | t j ƒ d  S(   Nu2   [{"a_key": 1, "b_Ã©": 2}, {"a_key": 3, "b_Ã©": 4}](   R4   R   R   (   R   R   (    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyt   test_keys_reuse_unicodeB   s    c         C@  sn   |  j  t j d ƒ d ƒ |  j  t j d ƒ d ƒ |  j  t j d ƒ d g ƒ |  j  t j d ƒ d g ƒ d  S(   Ns   ""t    u   ""u    s   [""]u   [""](   R   R   R   (   R   (    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyt   test_empty_stringsF   s    c         C@  s‘   t  j j } |  j i i  d 6d f | ƒ  j d ƒ ƒ |  j i i  d 6d f | d t ƒ j d ƒ ƒ |  j i i  d 6d f | ƒ  j d ƒ ƒ d  S(   NR   i	   s	   {"a": {}}R&   i   s    
{"a": {}}(   R   t   decodert   JSONDecoderR   t
   raw_decodet   dict(   R   t   cls(    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyt   test_raw_decodeL   s    c      	   C@  s×   t  j j ƒ  } x[ d d d d d d d d d	 g	 D]8 } |  j t | j d
 | ƒ |  j t | j d
 | ƒ q1 Wt d d g d t ƒ\ } } t | ƒ t | ƒ } |  j t | j | | ƒ |  j t | j | | ƒ d  S(   Ni   i   i   iÿÿÿÿiþÿÿÿiýÿÿÿiüÿÿÿiûÿÿÿiúÿÿÿt   1234t	   128931233t	   472389423R   (	   R   R;   R<   t   assertRaisest
   ValueErrort	   scan_onceR=   R0   t   id(   R   t   jt   iR'   t   yt   diff(    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyt   test_bounds_checkingZ   s    ((   t   __name__t
   __module__t   hasattrR   R   R   R   R   R   R/   R4   R7   R8   R:   R@   RL   (    (    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyR   	   s   										(   t
   __future__R    R   t   unittestR   t
   simplejsonR   t   simplejson.compatR   R   R   (    (    (    sB   /usr/lib64/python2.7/site-packages/simplejson/tests/test_decode.pyt   <module>   s   