ó
ìUzMc           @   s6   d  d l  m Z d  d l Z d e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   TestCaseNt   TestUnicodec           B   s†   e  Z d  „  Z d „  Z 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(   c         C   sY   t  j d d ƒ } d } | j d ƒ } | j | ƒ } | j | ƒ } |  j | | ƒ d  S(   Nt   encodings   utf-8u   Î±Î©(   t   jsont   JSONEncodert   encodet   assertEquals(   t   selft   encodert   ut   st   jut   js(    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt   test_encoding1   s    c         C   sS   d } | j  d ƒ } t j | d d ƒ} t j | d d ƒ} |  j | | ƒ d  S(   Nu   Î±Î©s   utf-8R   (   R   R   t   dumpsR   (   R   R	   R
   R   R   (    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt   test_encoding2   s
    c         C   s)   d } t  j | ƒ } |  j | d ƒ d  S(   Nu   Î±Î©s   "\u03b1\u03a9"(   R   R   R   (   R   R	   t   j(    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt   test_encoding3   s    c         C   s,   d } t  j | g ƒ } |  j | d ƒ d  S(   Nu   Î±Î©s   ["\u03b1\u03a9"](   R   R   R   (   R   R	   R   (    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt   test_encoding4   s    c         C   s7   d } t  j | d t ƒ} |  j | d | d ƒ d  S(   Nu   Î±Î©t   ensure_asciiu   "(   R   R   t   FalseR   (   R   R	   R   (    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt   test_encoding5   s    c         C   s:   d } t  j | g d t ƒ} |  j | d | d ƒ d  S(   Nu   Î±Î©R   u   ["u   "](   R   R   R   R   (   R   R	   R   (    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt   test_encoding6$   s    c         C   sB   d } |  j  t j | ƒ d ƒ |  j  t j | d t ƒd ƒ d  S(   Nu   ð„ s   "\ud834\udd20"R   u   "ð„ "(   R   R   R   R   (   R   R	   (    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt   test_big_unicode_encode)   s    c         C   sD   d } |  j  t j d | d ƒ | ƒ |  j  t j d ƒ | ƒ d  S(   Nu   zð„ xt   "s   "z\ud834\udd20x"(   R   R   t   loads(   R   R	   (    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt   test_big_unicode_decode.   s    !c         C   sP   xI t  d d ƒ D]8 } t | ƒ } d | f } |  j t j | ƒ | ƒ q Wd  S(   Ni    iÿ×  s   "\u%04x"(   t   ranget   unichrR   R   R   (   R   t   iR	   R
   (    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt   test_unicode_decode3   s    c         C   sä   d } d d d d d d d g } |  j  t j | ƒ t | ƒ ƒ |  j  t j | d d „  ƒ| ƒ t j | d t j ƒ} |  j  | t j | ƒ ƒ |  j  t | ƒ t j ƒ |  j  t j | d t j d d „  ƒt j | ƒ ƒ d  S(   Nu?   {"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7}u   xkdi   u   kcwi   u   arti   u   hxmi   u   qrti   u   padi   u   hoyi   t   object_pairs_hookc         S   s   |  S(   N(    (   t   x(    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt   <lambda>?   s    t   object_hookc         S   s   d  S(   N(   t   None(   R    (    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyR!   F   s    (   u   xkdi   (   u   kcwi   (   u   arti   (   u   hxmi   (   u   qrti   (   u   padi   (   u   hoyi   (   t   assertEqualR   R   t   evalt   OrderedDictt   type(   R   R
   t   pt   od(    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt#   test_object_pairs_hook_with_unicode:   s    "		c         C   s-   |  j  t j d j d ƒ ƒ i d d 6ƒ d  S(   Nu   {"a": "Ã©"}s   utf-8u   Ã©t   a(   R   R   R   R   (   R   (    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt   test_default_encodingJ   s    c         C   se   |  j  t t j d ƒ ƒ t ƒ |  j  t t j d ƒ ƒ t ƒ |  j  t t j d ƒ d ƒ t ƒ d  S(   Nu   ""u   "a"u   ["a"]i    (   R   R'   R   R   t   unicode(   R   (    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt   test_unicode_preservationN   s    c         C   s˜   |  j  t t j g  d t ƒƒ t ƒ |  j  t t j d d t ƒƒ t ƒ |  j  t t j i  d t ƒƒ t ƒ |  j  t t j d d t ƒƒ t ƒ d  S(   NR   i    t    (   R   R'   R   R   R   R-   (   R   (    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt'   test_ensure_ascii_false_returns_unicodeS   s    %%%c         C   sš   i d d 6} i d d 6} d } d } |  j  t j | ƒ | ƒ |  j  t j | ƒ | ƒ |  j  t j | d t ƒ| ƒ |  j  t j | d t ƒ| ƒ d  S(   Ns   ArrÃªt sur imagesu   quuxu   ArrÃªt sur imagess!   {"quux": "Arr\u00eat sur images"}u   {"quux": "ArrÃªt sur images"}R   (   R   R   R   R   (   R   t   doc1t   doc2t	   doc_asciit   doc_unicode(    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt+   test_ensure_ascii_false_bytestring_encodingZ   s    (   t   __name__t
   __module__R   R   R   R   R   R   R   R   R   R*   R,   R.   R0   R5   (    (    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyR      s   													(   t   unittestR    t
   simplejsonR   R   (    (    (    sA   /usr/lib/python2.7/dist-packages/simplejson/tests/test_unicode.pyt   <module>   s   