σ
O'^c           @@ sΩ   d  d l  m Z d  d l  m Z d  d l Z d  d l m Z d  d l m Z m Z d  d l	 m
 Z
 m Z d  d l m Z m Z m Z e d    Z d	 e f d
     YZ d e f d     YZ d e f d     YZ d S(   i    (   t   absolute_import(   t   unicode_literalsN(   t   contextmanager(   t   bytes_tt   string_t(   t   safe_strt   default_encoding(   t   Caset   SkipTestt   patchc          c@ sN   t  j j d d   }  d d  l } z | j j VWd  |  rI |  t  j d <n  Xd  S(   Nu   kombu.utils.encodingi    (   t   syst   modulest   popt   Nonet   kombu.utils.encodingt   utilst   encoding(   t   old_encodingt   kombu(    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   clean_encoding   s    t   test_default_encodingc           B@ s   e  Z e d   d    Z RS(   u   sys.getfilesystemencodingc         C@ sj   d | _  t   R } | j   } t j j d  rF |  j | d  n |  j | d  | j   Wd  QXd  S(   Nu   asciiu   javau   utf-8(   t   return_valueR   R   R
   t   platformt
   startswitht   assertEqualt   assert_called_with(   t   selft   getdefaultencodingR   t   enc(    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   test_default   s    	(   t   __name__t
   __module__R	   R   (    (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyR      s   t   test_encoding_utilsc           B@ s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C@ s"   t  j d k r t d   n  d  S(   Ni   i    u   not relevant on py3k(   i   i    (   R
   t   version_infoR   (   R   (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   setUp*   s    c         C@ s/   t      } |  j | j d  t  Wd  QXd  S(   Nu   foobar(   R   t   assertIsInstancet   str_to_bytesR   (   R   t   e(    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   test_str_to_bytes.   s    c         C@ s/   t      } |  j | j d  t  Wd  QXd  S(   Nu   foobar(   R   R#   t	   from_utf8R   (   R   R%   (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   test_from_utf82   s    c         C@ s,   t     } |  j | j d   Wd  QXd  S(   Nt   foo(   R   t
   assertTruet   default_encode(   R   R%   (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   test_default_encode6   s    (   R   R   R"   R&   R(   R,   (    (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyR    (   s   			t   test_safe_strc           B@ sP   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         C@ s1   t  d  |  _ |  j j   |  _ d |  j _ d  S(   Nu   sys.getfilesystemencodingu   ascii(   R	   t
   _cencodingt	   __enter__t	   _encodingR   (   R   (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyR"   =   s    c         C@ s   |  j  j   d  S(   N(   R.   t   __exit__(   R   (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   tearDownB   s    c         C@ s   |  j  t d  d  d  S(   Nu   foo(   R   R   (   R   (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   test_when_bytesE   s    c         C@ s   |  j  t d  t  d  S(   Nu   foo(   R#   R   R   (   R   (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   test_when_unicodeH   s    c         C@ sW   t  d  E } d | _ |  j t   d  d } t |  } |  j | t  Wd  QXd  S(   Nu   sys.getfilesystemencodingu   utf-8u*   The quiΓ¦k fΓ₯x jΓΈmps ΓΈver the lazy dΓ₯g(   R	   R   R   R   R   R#   t   str(   R   R   t   st   res(    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   test_when_encoding_utf8K   s    	c         C@ s`   t  d  N } d | _ d } t |  } |  j | t  |  j t |  t |   Wd  QXd  S(   Nu   sys.getfilesystemencodingu   asciiu*   The quiΓ¦k fΓ₯x jΓΈmps ΓΈver the lazy dΓ₯g(   R	   R   R   R#   R5   R   t   len(   R   R   R6   R7   (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   test_when_containing_high_charsS   s    	c         C@ s)   t    } |  j t |  t |   d  S(   N(   t   objectR   R   t   repr(   R   t   o(    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   test_when_not_string[   s    	c         C@ s3   d t  f d     Y} |  j d t |     d  S(   Nt   Oc           B@ s   e  Z d    Z RS(   c         S@ s   t  d   d  S(   Nu   foo(   t   KeyError(   R   (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   __repr__c   s    (   R   R   RA   (    (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyR?   a   s   u   <Unrepresentable(   R;   t   assertInR   (   R   R?   (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   test_when_unrepresentable_   s    (
   R   R   R"   R2   R3   R4   R8   R:   R>   RC   (    (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyR-   ;   s   							(   t
   __future__R    R   R
   t
   contextlibR   t
   kombu.fiveR   R   R   R   R   t   kombu.tests.caseR   R   R	   R   R   R    R-   (    (    (    sA   /tmp/pip-unpacked-wheel-UAnTfW/kombu/tests/utils/test_encoding.pyt   <module>   s   