ó
æNXc           @  s  d  Z  d d l m Z d d l Z d d l Z d d l Z d d l Z d d l j Z	 d d l
 Z
 d d l m 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 S(   s   Tests for IPython.utils.textiÿÿÿÿ(   t   print_functionN(   t   textc          C  s–   d }  g  d D] } | |  ^ q } t  j | d d ƒ} t j | d ƒ t  j | d d ƒ} t j | d ƒ t  j | d d ƒ} t j | d	 ƒ d
 S(   s   Basic columnize tests.i   t   abct   displaywidthiP   s   aaaaa  bbbbb  ccccc
i   s   aaaaa  ccccc
bbbbb
i
   s   aaaaa
bbbbb
ccccc
N(   R   t	   columnizet   ntt   assert_equal(   t   sizet   lt   itemst   out(    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   test_columnize   s    c    
      C  sG  x@g  t  d d ƒ D] }  t j d d ƒ ^ q D]} t j d d ƒ } g  t  | ƒ D] }  t j d | ƒ ^ qT } g  | D] } d | ^ qy } t j | d | ƒ} t g  | j d ƒ D] } t | ƒ ^ q· ƒ } t | ƒ }	 | | k r/ t d | ƒ t d	 |	 ƒ t d
 | ƒ t d | ƒ t d | ƒ t	 s?t
 ‚ q/ q/ Wd S(   s3   Test with random input to hopfully catch edge case i   i   iF   iÈ   t   xR   s   
s;   Columnize displayed something lager than displaywidth : %s s   longer element : %s s   displaywidth : %s s   number of element : %s s   size of each element :
 %sN(   t   ranget   randomt   randintR   R   t   maxt   splitt   lent   printt   Falset   AssertionError(
   t   it   nitemsR   t   rand_lenR   R	   R
   R   t   longer_linet   longer_element(    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   test_columnize_random)   s    5+.c          C  s\   d }  g  d D] } | |  ^ q } t  j | d d ƒ} t j | d j | d g ƒ ƒ d S(   s1   Test with inputs than shouldn't be wider tahn 80 i(   R   R   iP   s   
t    N(   R   R   R   R   t   join(   R   R   R	   R
   (    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   test_columnize_medium:   s    c          C  s`   d }  g  d D] } | |  ^ q } t  j | d |  d ƒ} t j | d j | d g ƒ ƒ d S(   s9   Test columnize with inputs longer than the display windowi   R   R   i   s   
R   N(   R   R   R   R   R   (   R   R   R	   R
   (    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   test_columnize_longA   s    c         C  sf  t  d d d t j d d d t d d d	 d
 ƒ } |  j d |  } t j | d ƒ |  j d j g  t d d ƒ D] } d | ^ qn ƒ |  } t j | d ƒ |  j d |  } t j | d ƒ |  j d |  } t j | | d ƒ |  j d |  } t j | t	 | d ƒ ƒ |  j d |  } t j | | d ƒ |  j d |  } t j
 t |  j d |  d  S(   Nt   ni   t   pit   stuffs   hello theret   ost   uu   cafÃ©t   bs   cafÃ©s   {n} {n//4} {stuff.split()[0]}s
   12 3 hellot    i   i   s   {n//%i}s   12 6 4 3 2 2 1s   {[n//i for i in range(1,8)]}s   [12, 6, 4, 3, 2, 2, 1]s	   {stuff!s}s	   {stuff!r}s   {u}s   {b}s   {dne}(   t   dictt   mathR!   R#   t   formatR   R   R   R   t   reprt   assert_raisest	   NameError(   t   ft   nst   sR   (    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   eval_formatter_checkH   s    0;c      	   C  s¸   t  d d d t j d d d t ƒ } |  j d |  } t j | d ƒ |  j d	 |  } t j | d
 ƒ |  j d |  } t j | | d d  d  d … ƒ t j t |  j d |  d  S(   NR    i   R!   R"   s   hello thereR#   s    {stuff.split()[:]} s    ['hello', 'there'] s    {stuff.split()[::-1]} s    ['there', 'hello'] s   {stuff[::2]}i   s   {n:x}(	   R'   R(   R!   R#   R)   R   R   R+   t   SyntaxError(   R-   R.   R/   (    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   eval_formatter_slicing_check]   s    $!c      	   C  s¿   t  d d d t j d d d t ƒ } |  j d |  } t j | d ƒ |  j d	 |  } t j | d
 ƒ t j d k r¥ |  j d d d d g ƒ} t j | d ƒ n t j	 t
 |  j d ƒ d  S(   NR    i   R!   R"   s   hello thereR#   s   {n:x} {pi**2:+f}s   c +9.869604s   {stuff[slice(1,4)]}t   elli   i   s   {a[:]}t   ai   i   s   [1, 2](   i   i   (   R'   R(   R!   R#   R)   R   R   t   syst   version_infoR+   R1   (   R-   R.   R/   (    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   eval_formatter_no_slicing_checkh   s    $c          C  s$   t  j ƒ  }  t |  ƒ t |  ƒ d  S(   N(   R   t   EvalFormatterR0   R7   (   R-   (    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   test_eval_formatterx   s    
c          C  s$   t  j ƒ  }  t |  ƒ t |  ƒ d  S(   N(   R   t   FullEvalFormatterR0   R2   (   R-   (    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   test_full_eval_formatter}   s    
c       	   C  sõ   t  j ƒ  }  t |  ƒ t |  ƒ t d d d t j d d d t ƒ } |  j d |  } t	 j
 | d ƒ |  j d	 |  } t	 j
 | d ƒ |  j d
 |  } t	 j
 | d ƒ |  j d |  } t	 j
 | d ƒ |  j d d d ƒ} t	 j
 | d ƒ d  S(   NR    i   R!   R"   s   hello thereR#   s   $nt   12s   $n.reals   $n/{stuff[:5]}s   12/hellos	   $n $$HOMEs   12 $HOMEs   ${foo}t   foot   HOMEs   $HOME(   R   t   DollarFormatterR0   R2   R'   R(   R!   R#   R)   R   R   (   R-   R.   R/   (    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   test_dollar_formatter‚   s    

$c          C  s&   d g }  t  j t j |  ƒ d ƒ d  S(   Nt   hi(   R   R   R   t   long_substr(   t   data(    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   test_long_substr”   s    	c          C  s/   d d d d g }  t  j t j |  ƒ d ƒ d  S(   NR   t   abdt   abft   ab(   R   R   R   RB   (   RC   (    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   test_long_substr2™   s    c          C  s#   g  }  t  j t j |  ƒ d ƒ d  S(   NR   (   R   R   R   RB   (   RC   (    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   test_long_substr_empty   s    c          C  s)   d }  d } t  j t j |  ƒ | ƒ d  S(   Ns_           >> >>> def f(x):
        >> ...   return x+1
        >> ... 
        >> >>> zz = f(2.5)s3   >>> def f(x):
...   return x+1
... 
>>> zz = f(2.5)(   R   R   R   t   strip_email_quotes(   t   srct   cln(    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   test_strip_email¡   s    c          C  s)   d }  d } t  j t j |  ƒ | ƒ d  S(   Ns   > > > list()s   list()(   R   R   R   RJ   (   RK   RL   (    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   test_strip_email2¯   s    c          C  sn   t  j d ƒ }  t j |  j d d g ƒ t j |  j d ƒ t  j t j ƒ  ƒ }  t j |  j	 d t
 j
 ƒ d  S(   Ns   abc
defR   t   defs   abc defi    (   R   t   LSStringR   R   R   R/   R#   t   getcwdt   assert_is_instancet   pt   path(   t   lss(    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   test_LSString´   s
    c          C  sÌ   t  j d d d g ƒ }  t j |  j d ƒ t j |  j d ƒ t j |  j d „  ƒ t  j d d g ƒ ƒ t j |  j d ƒ t  j d d	 d g ƒ ƒ t j |  j d
 d d t	 ƒ t  j d d d g ƒ ƒ d  S(   Ns   a 11s   b 1s   a 2s   a 11
b 1
a 2s   a 11 b 1 a 2c         S  s   |  j  d ƒ S(   NR4   (   t
   startswith(   R   (    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   <lambda>¿   s    i    R4   R%   t   fieldi   t   nums(
   R   t   SListR   R   R    R/   t   grept   fieldst   sortt   True(   t   sl(    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt
   test_SList»   s    ++(   t   __doc__t
   __future__R    R#   R(   R   R5   t
   nose.toolst   toolsR   RT   t   IPython.utilsR   R   R   R   R   R0   R2   R7   R9   R;   R@   RD   RH   RI   RM   RN   RV   Ra   (    (    (    sU   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_text.pyt   <module>   s2   																