
\K]c           @  s  d  d l  m Z d  d l Z d  d l m Z d  d l m Z m Z d  d l j	 Z
 d d l m Z m Z m Z d  d l m Z e j d  d	 d
 f k 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  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. d'   Z/ d(   Z0 d)   Z1 d*   Z2 d+   Z3 d,   Z4 d-   Z5 d.   Z6 d/   Z7 d0   Z8 d1   Z9 d2   Z: d3   Z; d4 e e f d5     YZ< d6 d7 d8 d9 d: d; g Z= d< d= d= d> d? d@ dA dB d6 dC dD d; dE g Z> e
 j? e dF  dG e< f dH     Y Z@ e
 j? e dF  dI e< f dJ     Y ZA e
 j? e dF  dK e< f dL     Y ZB eC dM k re
 jD   n  d S(N   i(   t   print_functionN(   t   permutations(   t   njitt   typesi   (   t   TestCaset   no_pyobj_flagst   MemoryLeakMixin(   t   TypingErrori   i   i   c         C  s   t  d   |  D  S(   Nc         s  s!   |  ] } t  |  d  k  Vq d S(   i   N(   t   ord(   t   .0t   c(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pys	   <genexpr>   s    (   t   all(   t   s(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   <lambda>   t    c           C  s   d S(   Ns   大处着眼，小处着手。(    (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   literal_usecase   s    c         C  s   |  S(   N(    (   t   x(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   passthrough_usecase   s    c         C  s
   |  | k S(   N(    (   R   t   y(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt
   eq_usecase   s    c         C  s
   t  |   S(   N(   t   len(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   len_usecase"   s    c         C  s   |  | S(   N(    (   R   t   i(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   getitem_usecase&   s    c         C  s   |  j  |  S(   N(   t   zfill(   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   zfill_usecase*   s    c         C  s   |  | S(   N(    (   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   concat_usecase.   s    c         C  s   |  | S(   N(    (   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   repeat_usecase2   s    c         C  s   |  | 7}  |  S(   N(    (   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   inplace_concat_usecase6   s    
c         C  s
   |  | k S(   N(    (   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt
   in_usecase;   s    c         C  s
   |  | k  S(   N(    (   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt
   lt_usecase?   s    c         C  s
   |  | k S(   N(    (   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt
   le_usecaseC   s    c         C  s
   |  | k S(   N(    (   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt
   gt_usecaseG   s    c         C  s
   |  | k S(   N(    (   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt
   ge_usecaseK   s    c         C  s   |  j  |  S(   N(   t   find(   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   find_usecaseO   s    c         C  s   |  j  |  S(   N(   t
   startswith(   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   startswith_usecaseS   s    c         C  s   |  j  |  S(   N(   t   endswith(   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   endswith_usecaseW   s    c         C  s   |  j  |  S(   N(   t   split(   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   split_usecase[   s    c         C  s   |  j  | |  S(   N(   R(   (   R   R   t   maxsplit(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   split_with_maxsplit_usecase_   s    c         C  s   |  j  | d | S(   NR*   (   R(   (   R   R   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt!   split_with_maxsplit_kwarg_usecasec   s    c         C  s
   |  j    S(   N(   R(   (   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   split_whitespace_usecaseg   s    c         C  s
   |  j    S(   N(   t   lstrip(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   lstrip_usecasek   s    c         C  s   |  j  |  S(   N(   R.   (   R   t   chars(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   lstrip_usecase_charso   s    c         C  s
   |  j    S(   N(   t   rstrip(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   rstrip_usecases   s    c         C  s   |  j  |  S(   N(   R2   (   R   R0   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   rstrip_usecase_charsw   s    c         C  s
   |  j    S(   N(   t   strip(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   strip_usecase{   s    c         C  s   |  j  |  S(   N(   R5   (   R   R0   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   strip_usecase_chars   s    c         C  s   |  j  |  S(   N(   t   join(   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   join_usecase   s    c         C  s    d g } | j    |  j |  S(   NR   (   t   popR8   (   R   t   l(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   join_empty_usecase   s    	
c         C  s   |  j  |  S(   N(   t   center(   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   center_usecase   s    c         C  s   |  j  | |  S(   N(   R=   (   R   R   t   fillchar(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   center_usecase_fillchar   s    c         C  s   |  j  |  S(   N(   t   ljust(   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   ljust_usecase   s    c         C  s   |  j  | |  S(   N(   RA   (   R   R   R?   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   ljust_usecase_fillchar   s    c         C  s   |  j  |  S(   N(   t   rjust(   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   rjust_usecase   s    c         C  s   |  j  | |  S(   N(   RD   (   R   R   R?   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   rjust_usecase_fillchar   s    c         C  s(   g  } x |  D] } | j  |  q W| S(   N(   t   append(   R   R;   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   iter_usecase   s    c          C  s(   g  }  x d D] } |  j  |  q W|  S(   Ns   大处着眼，小处着手。(   RG   (   R;   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   literal_iter_usecase   s    c         C  sG   d } d } x. t  |   D]  \ } } | | 7} | d 7} q W| | f S(   NR   i    i   (   t	   enumerate(   R   t   buft   scanR   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   enumerated_iter_usecase   s    
c         C  sA   t  |   } t |   } x" t | d  D] } t |  q) Wd  S(   Ni   (   R   t   itert   ranget   next(   R   t   nR   t   _(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   iter_stopiteration_usecase   s    c          C  sG   d }  t  |   } t |   } x" t | d  D] } t |  q/ Wd  S(   Ns   大处着眼，小处着手。i   (   RN   R   RO   RP   (   R   R   RQ   RR   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt"   literal_iter_stopiteration_usecase   s
    t   BaseTestc           B  s   e  Z d    Z RS(   c         C  s   t  t |   j   d  S(   N(   t   superRU   t   setUp(   t   self(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRW      s    (   t   __name__t
   __module__RW   (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRU      s   t   asciit   12345t
   1234567890s   ¡Y tú quién te crees?s   🐍⚡s   大处着眼，小处着手。R   t   aaat   bt   aabt   abt   asct   asciht   ascijs   大处着眼，小处着手s%   大处着眼，小处着手。🐍⚡s,   unicode support requires Python 3.4 or latert   TestUnicodec           B  s!  e  Z e d   Z e d  Z e d  Z d   Z e d  Z e d  Z e d  Z	 e d  Z
 e d  Z e d	  Z e d
  Z e d  Z e d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z e d  Z e 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% e d#  Z& d$   Z' e d%  Z( e d&  Z) e d'  Z* e d(  Z+ e d)  Z, d*   Z- d+   Z. d,   Z/ d-   Z0 d.   Z1 d/   Z2 d0   Z3 d1   Z4 d2   Z5 d3   Z6 d4   Z7 RS(5   c         C  s   t  } |  j | d | d  S(   Nt   flags(   R   t   run_nullary_func(   RX   Rf   t   pyfunc(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_literal   s    c         C  sC   t  } t |  } x* t D]" } |  j | |  | |   q Wd  S(   N(   R   R   t   UNICODE_EXAMPLESt   assertEqual(   RX   Rf   Rh   t   cfuncR   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_passthrough   s    c         C  sm   t  } t |  } xT t D]L } xC t t  D]5 } |  j | | |  | | |  d | | f  q, Wq Wd  S(   Ns   %s, %s(   R   R   Rj   t   reversedRk   (   RX   Rf   Rh   Rl   t   aR_   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_eq   s    c         C  s   | } t  |  } xC t D]; } |  j | | |  | | |  d | j | | f  q Wx t t d d D]v \ } } |  j | | |  | | |  d | j | | f  |  j | | |  | | |  d | j | | f  qk Wd  S(   Ns   %s: "%s", "%s"t   ri   (   R   t   UNICODE_ORDERING_EXAMPLESRk   RY   R   (   RX   t   usecaseRh   Rl   Ro   R_   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   _check_ordering_op  s     c         C  s   |  j  t  d  S(   N(   Rt   R   (   RX   Rf   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_lt  s    c         C  s   |  j  t  d  S(   N(   Rt   R   (   RX   Rf   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_le  s    c         C  s   |  j  t  d  S(   N(   Rt   R    (   RX   Rf   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_gt"  s    c         C  s   |  j  t  d  S(   N(   Rt   R!   (   RX   Rf   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_ge%  s    c         C  sC   t  } t |  } x* t D]" } |  j | |  | |   q Wd  S(   N(   R   R   Rj   Rk   (   RX   Rf   Rh   Rl   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_len(  s    c      	   C  s   t  } t |  } x t D]w } xn g  d d | d  | d | | | g D] } | ^ qG D]5 } |  j | | |  | | |  d | | f  qW Wq Wd  S(   NR   R   ii   s   %s, %s(   R%   R   Rj   Rk   (   RX   Rf   Rh   Rl   Ro   R   R_   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_startswith.  s    >c      	   C  s   t  } t |  } x t D]w } xn g  d d | d  | d | | | g D] } | ^ qG D]5 } |  j | | |  | | |  d | | f  qW Wq Wd  S(   NR   R   ii   s   %s, %s(   R'   R   Rj   Rk   (   RX   Rf   Rh   Rl   Ro   R   R_   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_endswith7  s    >c      	   C  s   t  } t |  } x t D] } d d | d  d  d  | d  | d | | | g } xP g  | D] } | ^ q] D]5 } |  j | | |  | | |  d | | f  qm Wq Wd  S(   NR   t   xxiii   s   '%s' in '%s'?(   R   R   Rj   Rk   (   RX   Rf   Rh   Rl   Ro   t   extrasR   t   substr(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_in@  s    4 c      	   C  s   t  } t |  } x t D] } d d | d  d  d  | d  | d | | | g } xP g  | D] } | ^ q] D]5 } |  j | | |  | | |  d | | f  qm Wq Wd  S(   NR   R|   iii   s   '%s'.find('%s')?(   R#   R   Rj   Rk   (   RX   Rf   Rh   Rl   Ro   R}   R   R~   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt	   test_findJ  s    4 c         C  st   t  } t |  } x[ t D]S } xJ t t |   D]5 } |  j | | |  | | |  d | | f  q3 Wq Wd  S(   Ns	   '%s'[%d]?(   R   R   Rj   RO   R   Rk   (   RX   Rh   Rl   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_getitemT  s    c      
   C  s   |  j    t } t |  } x t D] } |  j t   } | | t |   Wd  QX|  j d t | j	   |  j t   } | | t |   Wd  QX|  j d t | j	   q# Wd  S(   Ns   string index out of range(
   t   disable_leak_checkR   R   Rj   t   assertRaisest
   IndexErrorR   t   assertInt   strt	   exception(   RX   Rh   Rl   R   t   raises(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_getitem_error^  s    
c      
   C  s   t  } t |  } x t D] } x t t t |  t |    D]t } xk t t t |  t |    D]G } t | |  } |  j | | |  | | |  d | | | f  qk WqB Wq Wd  S(   Ns   '%s'[%d:%d]?(   R   R   Rj   t   listRO   R   t   sliceRk   (   RX   Rh   Rl   R   R   t   jt   sl(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_slice2m  s    ))c      
   C  s   t  } t |  } x t D] } x d d t |  t |  d g D]t } xk d d t |  t |  d g D]G } t | |  } |  j | | |  | | |  d | | | f  qk WqB Wq Wd  S(   Niii   s   '%s'[%d:%d]?(   R   R   Rj   R   R   Rk   (   RX   Rh   Rl   R   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_slice2_errory  s    ))c         C  s   t  } t |  } x t D] } x t t |  t |   D] } x t t |  t |   D]j } xa d d d d g D]M } t | | |  } |  j | | |  | | |  d | | | | f  qx Wq_ Wq< Wq Wd  S(   Niii   i   s   '%s'[%d:%d:%d]?(   R   R   Rj   RO   R   R   Rk   (   RX   Rh   Rl   R   R   R   t   kR   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_slice3  s    ##c         C  s   t  } t |  } x t D] } x d d t |  t |  d g D] } x d d t |  t |  d g D]j } xa d d d d g D]M } t | | |  } |  j | | |  | | |  d | | | | f  q Wqk WqB Wq Wd  S(   Niii   i   s   '%s'[%d:%d:%d]?(   R   R   Rj   R   R   Rk   (   RX   Rh   Rl   R   R   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_slice3_error  s    ))c         C  s   t  } t |  } d d d d d d d d d	 d
 d d d d d g } |  j t   } | | d d  Wd  QX|  j d t | j   xJ | D]B } x9 t d d  D]( } |  j | | |  | | |   q Wq Wd  S(   NR[   s   +asciis   -asciis   -asc ii-R\   s   -12345s   +12345R   s   ¡Y tú crs?s   🐍⚡s   +🐍⚡s   -🐍⚡s   大眼，小手。s   +大眼，小手。s   -大眼，小手。i    g?s   <width> must be an Integerii   (	   R   R   R   R   R   R   R   RO   Rk   (   RX   Rh   Rl   t   ZFILL_INPUTSR   R   t   width(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt
   test_zfill  s0    	c         C  st   t  } t |  } x[ t D]S } xJ t d  d  d  D]5 } |  j | | |  | | |  d | | f  q3 Wq Wd  S(   Nis   '%s' + '%s'?(   R   R   Rj   Rk   (   RX   Rf   Rh   Rl   Ro   R_   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_concat  s    c         C  s   t  } t |  } xj t d g D][ } xR d D]J } |  j | | |  | | |   |  j | | |  | | |   q- Wq  Wd  S(   NR   ii    i   i   i   i   i   i   i   i   iF   (   ii    i   i   i   i   i   i   i   i   iF   (   R   R   Rj   Rk   (   RX   Rf   Rh   Rl   Ro   R_   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_repeat  s    c         C  sX   |  j    t t  } |  j t   } | d d  Wd  QX|  j d t | j   d  S(   Nt   hig      @s0   Invalid use of Function(<built-in function mul>)(   R   R   R   R   R   R   R   R   (   RX   Rl   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_repeat_exception_float  s
    
c         C  su   |  j    t } t |  } xR | | g D]D } |  j t   } | d d  Wd  QX|  j d t | j   q) Wd  S(   NRo   R   s   empty separator(   R   R)   R   R   t
   ValueErrorR   R   R   (   RX   Rh   Rl   t   funcR   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_split_exception_empty_sep  s    
c      	   C  su   t  } t |  } x\ d d  g D]N } |  j t   } | d | d  Wd  QX|  j d t | j  d |  q Wd  S(   Nt    Ro   g333333@t   float64s"   non-integer maxsplit with sep = %s(   R+   R   t   NoneR   R   R   R   R   (   RX   Rh   Rl   t   sepR   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt(   test_split_exception_noninteger_maxsplit  s    c         C  s   t  } t |  } d d d d d d d d d d g
 } xC | D]; \ } } |  j | | |  | | |  d | | f  q= Wd  S(   Ns    a R   s   ⚡t   abcabcs   🐍⚡s   🐍⚡🐍t   abababaRo   R_   R
   Ra   t   abas   '%s'.split('%s')?(   s    a N(   R   s   ⚡(   R   s   ⚡(   s   🐍⚡s   ⚡(   s   🐍⚡🐍s   ⚡(   R   Ro   (   R   R_   (   R   R
   (   R   Ra   (   R   R   (   R)   R   R   Rk   (   RX   Rh   Rl   t   CASESt   test_strt   splitter(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt
   test_split  s     	c         C  s   d d d d d d d d d d g
 } x t d f t d f g D]j \ } } t |  } xO | D]G \ } } } |  j | | | |  | | | |  | | | | f  q\ Wq= Wd  S(   Ns    a i   R   s   ⚡R   s   🐍⚡s   🐍⚡🐍R   Ro   i   R_   R
   Ra   R   i   s   '%s'.split('%s', %d)?s   '%s'.split('%s', maxsplit=%d)?(   s    a Ni   (   R   s   ⚡i   (   R   s   ⚡i   (   s   🐍⚡s   ⚡i   (   s   🐍⚡🐍s   ⚡i   (   R   Ro   i   (   R   R_   i   (   R   R
   i   (   R   Ra   i   (   R   R   i   (   R   R+   R,   R   Rk   (   RX   R   Rh   t   fmt_strRl   R   R   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_split_with_maxsplit  s"    	c          C  s   t  } t |  } d j t t d d d d d d d d	 d
 d d d d d d d d d d d d d d d d d d d d g   } d d d  d! d" d# d$ | d% g } x4 | D], } |  j | |  | |  d& | f  q Wd  S('   NR   i	   i
   i   i   i   i   i   i   i   i    i   i   i  i    i   i   i   i   i   i   i   i   i	   i
   i(   i)   i/   i_   i 0  R   s   🐍 ⚡s   🐍 ⚡ 🐍s   🐍   ⚡ 🐍  s     🐍   ⚡ 🐍s    🐍s
   ⚡ 🐍  s   '%s'.split()?(   R-   R   R8   t   mapt   chrRk   (   RX   Rh   Rl   t   all_whitespaceR   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_split_whitespace  s"    '	c         C  sY   t  } t |  } d d g } x4 | D], } |  j | |  | |  d | f  q% Wd  S(   NR   s   🐍🐍🐍s   '%s'.join([])?(   R<   R   Rk   (   RX   Rh   Rl   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_join_empty6  s    		c      	   C  ss   t  } t |  } |  j t   } | d d d d g  Wd  QXt | j  } |  j d |  |  j d |  d  S(   NR   i   i   i   s   Invalid use of BoundFunctions   (reflected list(int(   R9   R   R   R   R   R   R   (   RX   Rh   Rl   R   t   exc_message(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_join_non_string_exceptionF  s    c         C  s   t  } t |  } d d d d g f d d d d g f d d d d g f d d g d f g } xC | D]; \ } } |  j | | |  | | |  d | | f  qe Wd  S(	   NR   Ro   t   bbbbR
   s   🐍🐍🐍s   ⚡⚡i   s   '%s'.join('%s')?(   R9   R   Rk   (   RX   Rh   Rl   R   R   t   parts(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt	   test_joinU  s    c         C  sh   t  } t |  } d d g } xC | D]; \ } } |  j | | |  | | |  d | | f  q% Wd  S(   Nt   abct   123s   🐍🐍🐍s   ⚡⚡s   '%s'.join('%s')?(   R   R   (   s   🐍🐍🐍s   ⚡⚡(   R9   R   Rk   (   RX   Rh   Rl   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_join_interleave_stre  s    	c         C  s   x t  d f t d f t d f g D] \ } } t |  } |  j t   } | t d d  Wd  QX|  j d t | j	   xZ t D]R } xI t
 d d  D]8 } |  j | | |  | | |  d	 | | | f  q Wq Wq" Wd  S(
   NR=   RA   RD   i    g?s   The width must be an Integerii   s   '%s'.%s(%d)?(   R>   RB   RE   R   R   R   Rj   R   R   R   RO   Rk   (   RX   Rh   t	   case_nameRl   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_justificationt  s    	c         C  s
  xt  d f t d f t d f g D] \ } } t |  } x d d d d g D] } |  j t   } | t d d	 |  Wd  QX|  j d
 t | j	   xc t D][ } xR t
 d d  D]A } |  j | | | |  | | | |  d | | | | f  q Wq WqM Wq" Wd  S(   NR=   RA   RD   R   t   +s   ús   处i    g?s   The width must be an Integerii   s   '%s'.%s(%d, '%s')?(   R@   RC   RF   R   R   R   Rj   R   R   R   RO   Rk   (   RX   Rh   R   Rl   R?   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_justification_fillchar  s    	c      
   C  s   |  j    x t t t g D] } t |  } x_ d d d d g D]K } |  j t   } | t d d |  Wd  QX|  j d t	 | j
   q? WxY d d	 g D]K } |  j t   } | t d d |  Wd  QX|  j d
 t	 | j
   q Wq Wd  S(   NR   s   +0s   quiéns   处着i    i   s&   The fill character must be exactly onei   g?s"   The fillchar must be a UnicodeType(   R   R@   RC   RF   R   R   R   Rj   R   R   R   R   (   RX   Rh   Rl   R?   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt%   test_justification_fillchar_exception  s    
c         C  st   t  } t |  } x[ t D]S } xJ t d  d  d  D]5 } |  j | | |  | | |  d | | f  q3 Wq Wd  S(   Nis   '%s' + '%s'?(   R   R   Rj   Rk   (   RX   Rf   Rh   Rl   Ro   R_   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_inplace_concat  s    c           s  d d d d  d! d" d# d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 g } x{ t d f t d f t d f g D]X \   } t    } x= | D]5 \ } } |  j   |  | |  d | | f  q Wqd Wx5t d f t d f t d f g D]\   } t    } t	 j
 t	 j
 t	 j t	 j
   } t | g     }   f d   } xR | | f D]D }	 |  j t   }
 |	 d d  Wd  QX|  j d t |
 j   qLWx] | | f D]O }	 xF | D]> \ } } |  j   | |  |	 | |  d | | | f  qWqWq Wd  S(1   Ns   ass ciit   ait   assciis   ai s   asscii s	    asscii  s   asci R   s         R   R   s
     asscii  s   tú quién te crees?s   étú? s     tú quién te crees?   s     tú qrees?   s+   大处 着眼，小处着手。大大大处s   大处s    大处大处  R5   R.   R2   s
   '%s'.%s()?c            s8   t  j t  j t  j t  j   } t | g     d  S(   N(   R   t   unicode_typet   OptionalR   R   (   t   argst   bad(   Rh   (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   try_compile_bad_optional  s    s	   tú quis?g?s%   The arg must be a UnicodeType or Nones   '%s'.%s('%s')?(   s   ass ciiR   (   s   ass ciiN(   R   s   ai (   s   asscii s   ai (   s	    asscii  s   ai (   s	    asscii  s   asci (   s	    asscii  R   (   s         R   (   R   R   (   R   R   (   s
     asscii  s   ai (   s
     asscii  R   (   s
     asscii  N(   s   tú quién te crees?s   étú? (   s     tú quién te crees?   s   étú? (   s     tú qrees?   R   (   s     tú quién te crees?   N(   s+   大处 着眼，小处着手。大大大处s   大处(   s    大处大处  R   (   s    大处大处  N(   R   R6   R/   R3   R   Rk   R7   R1   R4   R   R   R   R   R   R   R   R   (   RX   t   STRIP_CASESR   Rl   t   stringR0   t   sig1t   cfunc_optionalR   t   fnR   (    (   Rh   s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt
   test_strip  s^    						c         C  s>   d   } t  |  } d g } |  j | |   | |    d  S(   Nc         S  s   |  S(   N(    (   Ro   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh     s    Ro   (   R   Rk   (   RX   Rf   Rh   Rl   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_pointless_slice  s    		c         C  s>   d   } t  |  } d g } |  j | |   | |    d  S(   Nc         S  s   |  d  d  d  S(   Ni(    (   Ro   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh     s    Ro   (   R   Rk   (   RX   Rf   Rh   Rl   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_walk_backwards  s    		c         C  s>   d   } t  |  } d g } |  j | |   | |    d  S(   Nc         S  s   |  d  d  d  S(   Ni   (    (   Ro   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh      s    Ro   (   R   Rk   (   RX   Rf   Rh   Rl   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_stride_slice  s    		c         C  sA   d   } t  |  } d d g } |  j | |   | |    d  S(   Nc         S  s
   |  | k  S(   N(    (   Ro   R_   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh     s    Ra   R_   (   R   Rk   (   RX   Rf   Rh   Rl   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_basic_lt  s    	c         C  sA   d   } t  |  } d d g } |  j | |   | |    d  S(   Nc         S  s
   |  | k S(   N(    (   Ro   R_   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh     s    Ra   R_   (   R   Rk   (   RX   Rf   Rh   Rl   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_basic_gt  s    	c         C  s   d   } t  |  } x t t d d D]l \ } } x] d d d d d d	 d
 g D]@ } | | | g } |  j | |   | |   d d j |  qP Wq( Wd  S(   Nc         S  s   |  d k r | | k S|  d k r, | | k S|  d k rB | | k  S|  d k rX | | k S|  d k rn | | k S|  d k r | | k Sd  Sd  S(   Ns   ==s   !=t   <t   >s   <=s   >=(   R   (   t   optionR   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh     s    





Rq   i   s   ==s   !=R   R   s   <=s   >=R   t   msgs   failed on {}(   R   R   Rr   Rk   t   format(   RX   Rh   Rl   R   R   t   cmpopR   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_comparison  s    	"c         C  sc   d   } t  |  } d g } |  j | |   | |    d g } |  j | |   | |    d  S(   Nc         S  s6   d } t  |   r" | d |  d S|  | d |  Sd  S(   NR   t   b123t   IOR   (   R   (   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh   .  s    R   R   (   R   Rk   (   RX   Rh   Rl   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_literal_concat-  s    			c         C  ss   d   } t  |  } xW d d d d d d d g D]: } | g } |  j | |   | |   d	 d
 j |  q1 Wd  S(   Nc         S  s   d } d } |  d k r" | | k S|  d k r8 | | k S|  d k rN | | k  S|  d k rd | | k S|  d k rz | | k S|  d k r | | k Sd  Sd  S(	   Nt   a123t   aa12s   ==s   !=R   R   s   <=s   >=(   R   (   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh   <  s    





s   ==s   !=R   R   s   <=s   >=R   R   s   failed on {}(   R   Rk   R   (   RX   Rh   Rl   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_literal_comparison;  s    	"	c         C  s/   d   } t  |  } |  j |   |    d  S(   Nc           S  s
   t  d  S(   NR   (   R   (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh   U  s    (   R   Rk   (   RX   Rh   Rl   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_literal_lenT  s    	c         C  s   d   } t  |  } xc d d d t d d   t d  d  g D]: } | g } |  j | |   | |   d d j |  q= Wd  S(   Nc         S  s   d |  S(   NR   (    (   t   which(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh   [  s    ii    i   R   s   failed on {}(   R   R   R   Rk   R   (   RX   Rh   Rl   Ro   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_literal_getitemZ  s    	.	c         C  sp   d   } t  |  } xT d d d d d d g D]: } | g } |  j | |   | |   d d	 j |  q. Wd  S(
   Nc         S  s
   |  d k S(   Nt
   9876zabiuh(    (   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh   d  s    Ro   t   9t   1R   t   8uhat   987R   s   failed on {}(   R   Rk   R   (   RX   Rh   Rl   Ro   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_literal_inc  s    		c         C  sa   d   } t  |  } xE t d d d D]1 } |  j | |   | |   d d j |  q( Wd  S(   Nc         S  s   d j  |   d j |  f S(   NR   t   cde(   R$   R&   (   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh   n  s    t   abcdefgRq   i   R   s   failed on {}(   R   R   Rk   R   (   RX   Rh   Rl   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_literal_xyzwithm  s
    	c         C  sa   d   } t  |  } xE d g D]: } | g } |  j | |   | |   d d j |  q Wd  S(   Nc         S  s   d j  |   |  j  d  f S(   NR   Ro   (   R"   (   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh   w  s    Ra   R   s   failed on {}(   R   Rk   R   (   RX   Rh   Rl   Ro   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_literal_findv  s    		c         C  se   d   } t  |  } xI t d g D]: } | g } |  j | |   | |   d d j |  q# Wd  S(   Nc         S  s   |  S(   N(    (   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh     s    R   R   s   failed on {}(   R   Rj   Rk   R   (   RX   Rh   Rl   Ro   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_not  s    		c         C  s   d   } t  |  } g  t D] } | j   ^ q } xM t | d g D]: } | g } |  j | |   | |   d d j |  qF Wd  S(   Nc         S  s
   |  j    S(   N(   t   isupper(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh     s    R   R   s   failed on {}(   R   Rj   t   upperRk   R   (   RX   Rh   Rl   R   t   uppersRo   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_isupper  s    		c         C  se   d   } t  |  } xI t d g D]: } | g } |  j | |   | |   d d j |  q# Wd  S(   Nc         S  s
   |  j    S(   N(   R   (   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRh     s    R   R   s   failed on {}(   R   Rj   Rk   R   (   RX   Rh   Rl   Ro   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt
   test_upper  s    		(8   RY   RZ   R   Ri   Rm   Rp   Rt   Ru   Rv   Rw   Rx   Ry   Rz   R{   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyRe      sj   			

	
							
															@							
			
	
	t   TestUnicodeInTuplec           B  s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C  sT   t  d    } |  j | j   |    t  d    } |  j | j   |    d  S(   Nc           S  s
   d d k  S(   Nt   aat   bb(   R   (   R   (    (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   f  s    c           S  s
   d d k  S(   Nt   ccR   (   R   (   R   (    (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyR     s    (   R   Rk   t   py_func(   RX   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_const_unicode_in_tuple  s    c         C  sT   t  d    } |  j | j   |    t  d    } |  j | j   |    d  S(   Nc           S  s
   d d k  S(   NR   i   R   (   R   i   (   R   i   (    (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyR     s    c           S  s
   d d k  S(   NR   i   i   (   R   i   (   R   i   (    (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyR     s    (   R   Rk   R   (   RX   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt"   test_const_unicode_in_hetero_tuple  s    c         C  s@   t  d    } x* t D]" } |  j | |  t |   q Wd  S(   Nc         S  s   |  j  S(   N(   t	   _is_ascii(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyR     s    (   R   Rj   Rk   t   isascii(   RX   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_ascii_flag_unbox  s    c         C  s&   t  d    } |  j |   d  d  S(   Nc          S  sp   d }  d } d } d } d j  |  | g  j d j  |  | g  j d j  |  | g  j d j  | | g  j f S(   NR   R   s   🐍⚡s   大处着眼，小处着手。t   ,(   R8   R   (   t   s1t   s2t   s3t   s4(    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyR     s    i   i    (   i   i    i    i    (   R   Rk   (   RX   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_ascii_flag_join  s    c         C  s&   t  d    } |  j |   d  d  S(   Nc          S  s8   d }  d } |  d j  |  d j  | d j  | d j  f S(   Nt   abc123s   🐍⚡🐍⚡🐍⚡i    i   (   R   (   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyR     s    i   i    (   i   i   i    i    (   R   Rk   (   RX   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_ascii_flag_getitem  s    c         C  s&   t  d    } |  j |   d  d  S(   Nc          S  sN   d }  d } d } d } |  | j  |  | j  | | j  |  d j  | d j  f S(   NR   R   s   🐍⚡s   大处着眼，小处着手。i   (   R   (   R   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyR     s    



i   i    (   i   i    i    i   i    (   R   Rk   (   RX   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_ascii_flag_add_mul  s    (   RY   RZ   R   R   R   R   R  R  (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyR     s   					
t   TestUnicodeIterationc           B  s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C  sC   t  } t |  } x* t D]" } |  j | |  | |   q Wd  S(   N(   RH   R   Rj   t   assertPreciseEqual(   RX   Rh   Rl   Ro   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_unicode_iter  s    c         C  s,   t  } t |  } |  j |   |    d  S(   N(   RI   R   R  (   RX   Rh   Rl   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_unicode_literal_iter  s    c         C  sC   t  } t |  } x* t D]" } |  j | |  | |   q Wd  S(   N(   RM   R   Rj   R  (   RX   Rh   Rl   Ro   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_unicode_enumerate_iter  s    c         C  sh   |  j    t } t |  } xE | | f D]7 } x. t D]& } |  j t   | |  Wd  QXq6 Wq) Wd  S(   N(   R   RS   R   Rj   R   t   StopIteration(   RX   Rh   Rl   R   Ro   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   test_unicode_stopiteration_iter  s    
c         C  sJ   t  } t |  } x1 | | f D]# } |  j t   |   Wd  QXq Wd  S(   N(   RT   R   R   R	  (   RX   Rh   Rl   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt'   test_unicode_literal_stopiteration_iter  s
    (   RY   RZ   R  R  R  R
  R  (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyR    s
   					t   __main__(E   t
   __future__R    t   syst	   itertoolsR   t   numbaR   R   t   numba.unittest_supportt   unittest_supportt   unittestt   supportR   R   R   t   numba.errorsR   t   version_infot   _py34_or_laterR   R   R   R   R   R   R   R   R   R   R   R   R   R    R!   R#   R%   R'   R)   R+   R,   R-   R/   R1   R3   R4   R6   R7   R9   R<   R>   R@   RB   RC   RE   RF   RH   RI   RM   RS   RT   RU   Rj   Rr   t
   skipUnlessRe   R   R  RY   t   main(    (    (    s7   lib/python2.7/site-packages/numba/tests/test_unicode.pyt   <module>   s   																																														  		M		$