ķ
uŽ¸Qc           @   s   d  d l  Z  d  d l m Z d  d l m 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   StringIO(   t   OrderedDict(   t   PyTestt   CTestt
   TestDecodec           B   sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   sN   |  j  d d t j } |  j t | t j   |  j | t j d   d  S(   Ns   1.1t   parse_float(   t   loadst   decimalt   Decimalt
   assertTruet
   isinstancet   assertEqual(   t   selft   rval(    (    s,   /sys/lib/python2.7/json/tests/test_decode.pyt   test_decimal   s    c         C   s?   |  j  d d t } |  j t | t   |  j | d  d  S(   Nt   1t	   parse_intg      đ?(   R   t   floatR	   R
   R   (   R   R   (    (    s,   /sys/lib/python2.7/json/tests/test_decode.pyt
   test_float   s    c         C   s1   |  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   (    (    s,   /sys/lib/python2.7/json/tests/test_decode.pyt   test_decoder_optimizations   s    c         C   sh   |  j  |  j d  i   |  j  |  j d  g   |  j  |  j d  d  |  j |  j d  t  d  S(   Ns   {}s   []s   ""u    (   R   R   t   assertIsInstancet   unicode(   R   (    (    s,   /sys/lib/python2.7/json/tests/test_decode.pyt   test_empty_objects   s    c         C   sS  d } d d d d d d d g } |  j  |  j |  t |   |  j  |  j | d d   |  |  j  |  j j t |  d d   |  |  j | d t } |  j  | t |   |  j  t |  t  |  j  |  j | d t d d   t |   |  j  |  j d d t t    |  j  |  j d d t t d t   f g   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,   /sys/lib/python2.7/json/tests/test_decode.pyt   <lambda>$   s    c         S   s   |  S(   N(    (   R#   (    (    s,   /sys/lib/python2.7/json/tests/test_decode.pyR$   &   s    t   object_hookc         S   s   d  S(   N(   t   None(   R#   (    (    s,   /sys/lib/python2.7/json/tests/test_decode.pyR$   ,   s    s   {}s   {"empty": {}}t   empty(   R   i   (   R   i   (   R   i   (   R   i   (   R   i   (   R    i   (   R!   i   (   R   R   t   evalt   jsont   loadR    R   t   type(   R   t   st   pt   od(    (    s,   /sys/lib/python2.7/json/tests/test_decode.pyt   test_object_pairs_hook   s$    "	
c         C   s)   d } d } |  j  t | |  j |  d  S(   Ns
   [1, 2, 3]5s
   Extra data(   t   assertRaisesRegexpt
   ValueErrorR   (   R   R,   t   msg(    (    s,   /sys/lib/python2.7/json/tests/test_decode.pyt   test_extra_data5   s    c         C   s)   d } d } |  j  t | |  j |  d  S(   Ns	   ["abc\y"]t   escape(   R0   R1   R   (   R   R,   R2   (    (    s,   /sys/lib/python2.7/json/tests/test_decode.pyt   test_invalid_escape:   s    (	   t   __name__t
   __module__R   R   R   R   R/   R3   R5   (    (    (    s,   /sys/lib/python2.7/json/tests/test_decode.pyR      s   						t   TestPyDecodec           B   s   e  Z RS(    (   R6   R7   (    (    (    s,   /sys/lib/python2.7/json/tests/test_decode.pyR8   ?   s    t   TestCDecodec           B   s   e  Z RS(    (   R6   R7   (    (    (    s,   /sys/lib/python2.7/json/tests/test_decode.pyR9   @   s    (   R   R    t   collectionsR   t
   json.testsR   R   t   objectR   R8   R9   (    (    (    s,   /sys/lib/python2.7/json/tests/test_decode.pyt   <module>   s   8