ó
P'—^c           @@  s”   d  d l  m Z d  d l Z d  d l m Z d  d l Z d  d l m Z m	 Z	 m
 Z
 d  d l m Z d e
 f d „  ƒ  YZ d e f d	 „  ƒ  YZ d S(
   i    (   t   absolute_importN(   t   TestCase(   t   StringIOt   bt   binary_type(   t   OrderedDictt   MisbehavingBytesSubtypec           B@  s&   e  Z d d  „ Z d „  Z d „  Z RS(   c         C@  s   d S(   Ns
   bad decode(    (   t   selft   encoding(    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyt   decode
   s    c         C@  s   d S(   Ns   bad __str__(    (   R   (    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyt   __str__   s    c         C@  s
   t  d ƒ S(   Ns   bad __bytes__(   R   (   R   (    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyt	   __bytes__   s    N(   t   __name__t
   __module__t   NoneR	   R
   R   (    (    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyR   	   s   	t
   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 d „  Z RS(   t   assertIsc         C@  s$   |  j  | | k d | | f ƒ d  S(   Ns   %r is %r(   t
   assertTrue(   R   t   aR   (    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/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(    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/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>   /tmp/pip-unpacked-wheel-9xjeDh/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>   /tmp/pip-unpacked-wheel-9xjeDh/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(    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/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>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyt   <lambda>4   t    c         S@  s   |  S(   N(    (   R0   (    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyR1   6   R2   t   object_hookc         S@  s   d  S(   N(   R   (   R0   (    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyR1   =   R2   (   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>   /tmp/pip-unpacked-wheel-9xjeDh/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>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyt   check_keys_reuse@   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   encodeR=   R   R   (   R   R&   (    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyt   test_keys_reuse_strF   s    c         C@  s   d } |  j  | t j ƒ d  S(   Nu2   [{"a_key": 1, "b_Ã©": 2}, {"a_key": 3, "b_Ã©": 4}](   R=   R   R   (   R   R&   (    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyt   test_keys_reuse_unicodeJ   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   ""R2   u   ""u    s   [""]u   [""](   R   R   R   (   R   (    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyt   test_empty_stringsN   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(    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyt   test_raw_decodeT   s    c         C@  sî   t  j j } t d ƒ } |  j | ƒ  j | ƒ d ƒ |  j | d d ƒ j | ƒ d ƒ |  j | d d  ƒ j | ƒ d ƒ t t d ƒ ƒ } |  j | ƒ  j | ƒ d ƒ |  j | d d ƒ j | ƒ d ƒ |  j | d d  ƒ j | ƒ d ƒ d  S(   Ns   "â‚¬"u   â‚¬R   t   latin1u   Ã¢Â‚Â¬(   R   RC   RD   R   R   R	   R   R   (   R   RG   t   data(    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyt   test_bytes_decodeb   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   RC   RD   t   assertRaisest
   ValueErrort	   scan_onceRE   R9   t   id(   R   t   jt   iR0   t   yt   diff(    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyt   test_bounds_checkingn   s    ((   R   R   t   hasattrR   R   R   R   R$   R'   R8   R=   R@   RA   RB   RH   RK   RW   (    (    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyR      s   											(   t
   __future__R    R   t   unittestR   t
   simplejsonR   t   simplejson.compatR   R   R   R   R   R   (    (    (    s>   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/tests/test_decode.pyt   <module>   s   