ó
&9_[c           @   s€   d  Z  d d l j Z d d l m Z m Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d S(   s   Tests for tokenutiliÿÿÿÿN(   t   token_at_cursort   line_at_cursorc         C   s£   t  | | ƒ } d } xB | j ƒ  D]4 } | t | ƒ | k rB Pq" | t | ƒ d 7} q" W| | } d | |  | | f } t j | |  d |  | | | f ƒ d  S(   Ni    i   s   %s|%ss#   Expected %r, got %r in: %r (pos %i)(   R    t
   splitlinest   lent   ntt   assert_equal(   t   expectedt   cellt
   cursor_post   tokent   offsett   linet   columnt   line_with_cursor(    (    sA   lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   expect_token	   s    
c          C   s7   d }  x* t  t |  ƒ ƒ D] } t d |  | ƒ q Wd  S(   Nt   foo(   t   rangeR   R   (   R   t   i(    (    sA   lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   test_simple   s    c          C   sÁ   d }  d } x1 t  |  j d ƒ d ƒ D] } t d |  | ƒ q& Wx> |  j d ƒ d |  j d ƒ d g D] } t d |  | ƒ qg Wx9 t  |  j d ƒ |  j d ƒ ƒ D] } t d |  | ƒ q£ Wd  S(   Ns   foo(a=5, b='10')R   s   a=i   t   =t   ,s   b=(   R   t   findR   t   rfind(   R   R   R   (    (    sA   lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   test_function   s     -(c          C   s³   d j  d d g ƒ }  d } |  j | ƒ d } x1 t | | t | ƒ ƒ D] } t | |  | ƒ qH Wd } |  j | ƒ d } x1 t | | t | ƒ ƒ D] } t | |  | ƒ q• Wd  S(   Ns   
s   a = 5s   b = hello("string", there)t   helloi   (   t   joint   indexR   R   R   (   R   R   t   startR   (    (    sA   lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   test_multiline*   s      c          C   sÂ   d j  d d d d d d d g ƒ }  d	 } |  j | ƒ d
 } x1 t | | t | ƒ ƒ D] } t | |  | ƒ qW Wd	 } |  j | ƒ d
 } x1 t | | t | ƒ ƒ D] } t | |  | ƒ q¤ Wd  S(   Ns   
s   """

xxxxxxxxxx

"""s   5, """t	   docstrings   multiline tokens   """, [s   2, 3, "complicated"]s   b = hello("string", there)R   i   (   R   R   R   R   R   (   R   R   R   R   (    (    sA   lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   test_multiline_token8   s       c          C   sá   d }  d } |  j  d ƒ d } x+ t | | d ƒ D] } t | |  | ƒ q3 Wd } |  j  d ƒ } x+ t | | d ƒ D] } t | |  | ƒ qv Wd } |  j  d ƒ d } x1 t | t |  ƒ d ƒ D] } t | |  | ƒ qÃ Wd  S(   Ns   foo(bar(a=5), b=10)R   t   bari   i   s   a=t   )(   R   R   R   R   (   R   R   R   R   (    (    sA   lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   test_nested_callK   s     c          C   sá   d }  d } |  j  d ƒ d } x+ t | | d ƒ D] } t | |  | ƒ q3 W|  j  d ƒ d } d } x+ t | | d ƒ D] } t | |  | ƒ qz W|  j  d	 ƒ d } d
 } x- t | t |  ƒ ƒ D] } t | |  | ƒ qÃ Wd  S(   Ns   a = obj.attr.subattrt   obji   i   s   .attri   s   obj.attri   s   .subattrs   obj.attr.subattr(   R   R   R   R   (   R   R   t   idxR   (    (    sA   lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt
   test_attrsZ   s    c          C   sZ   d }  t  |  d d ƒ\ } } | d k s: t d | ƒ ‚ | d k sV t d | ƒ ‚ d  S(   Nt    R   i   s   Expected '', got %ri    (   R   t   AssertionError(   R   R   R
   (    (    sA   lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   test_line_at_cursori   s    c           #   s`   d ‰ x( t  d d ƒ D] ‰  ‡  ‡ f d †  Vq Wx( t  d d ƒ D] ‰  ‡  ‡ f d †  VqA Wd  S(   Ns   a = (1,
    3)

int()
map()
i   i   c              s   t  d ˆ ˆ  ƒ S(   Nt   int(   R   (    (   t   cR   (    sA   lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   <lambda>w   s    i   c              s   t  d ˆ ˆ  ƒ S(   Nt   map(   R   (    (   R)   R   (    sA   lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyR*   y   s    (   R   (    (    (   R)   R   sA   lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   test_muliline_statemento   s
    (   t   __doc__t
   nose.toolst   toolsR   t   IPython.utils.tokenutilR    R   R   R   R   R   R   R!   R$   R'   R,   (    (    (    sA   lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   <module>   s   								