ó
ìUzMc           @   sb   d  d l  Z  d  d l m Z d  d l m Z d  d l Z d  d l m Z d e f d „  ƒ  YZ d S(   iÿÿÿÿN(   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 RS(   t   assertIsc         C   s$   |  j  | | k d | | f ƒ d  S(   Ns   %r is %r(   t
   assertTrue(   t   selft   at   b(    (    s@   /usr/lib/python2.7/dist-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   assertEquals(   R   t   rval(    (    s@   /usr/lib/python2.7/dist-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   (    (    s@   /usr/lib/python2.7/dist-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   (    (    s@   /usr/lib/python2.7/dist-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   ""(   t   assertEqualR
   R   t   eval(   R   t   s(    (    s@   /usr/lib/python2.7/dist-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(    (    s@   /usr/lib/python2.7/dist-packages/simplejson/tests/test_decode.pyt   <lambda>+   s    c         S   s   |  S(   N(    (   R'   (    (    s@   /usr/lib/python2.7/dist-packages/simplejson/tests/test_decode.pyR(   -   s    t   object_hookc         S   s   d  S(   N(   t   None(   R'   (    (    s@   /usr/lib/python2.7/dist-packages/simplejson/tests/test_decode.pyR(   4   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(    (    s@   /usr/lib/python2.7/dist-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(    (    s@   /usr/lib/python2.7/dist-packages/simplejson/tests/test_decode.pyt   check_keys_reuse7   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   (    (    s@   /usr/lib/python2.7/dist-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   (    (    s@   /usr/lib/python2.7/dist-packages/simplejson/tests/test_decode.pyt   test_keys_reuse_unicodeA   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   (    (    s@   /usr/lib/python2.7/dist-packages/simplejson/tests/test_decode.pyt   test_empty_stringsE   s    c         C   sh   t  j j } |  j i i  d 6d f | ƒ  j d ƒ ƒ |  j i i  d 6d f | d t ƒ j d ƒ ƒ d  S(   NR   i	   s	   {"a": {}}R&   (   R
   t   decodert   JSONDecoderR   t
   raw_decodet   dict(   R   t   cls(    (    s@   /usr/lib/python2.7/dist-packages/simplejson/tests/test_decode.pyt   test_raw_decodeK   s    (   t   __name__t
   __module__t   hasattrR    R   R   R   R   R   R/   R4   R7   R8   R:   R@   (    (    (    s@   /usr/lib/python2.7/dist-packages/simplejson/tests/test_decode.pyR      s   									(   R   t   unittestR    R   t
   simplejsonR
   R   R   (    (    (    s@   /usr/lib/python2.7/dist-packages/simplejson/tests/test_decode.pyt   <module>   s
   