ó
æNXc           @   sw   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 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(    (    sZ   /data/av2000/mvv/env_mvv/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(    (    sZ   /data/av2000/mvv/env_mvv/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   (    (    sZ   /data/av2000/mvv/env_mvv/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   (    (    sZ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   test_multiline*   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   (    (    sZ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   test_nested_call8   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   (    (    sZ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt
   test_attrsG   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
   (    (    sZ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   test_line_at_cursorV   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   (    (   R   t   c(    sZ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   <lambda>d   s    i   c              s   t  d ˆ  ˆ ƒ S(   Nt   map(   R   (    (   R   R'   (    sZ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyR(   f   s    (   R   (    (    (   R   R'   sZ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   test_muliline_statement\   s
    (   t   __doc__t
   nose.toolst   toolsR   t   IPython.utils.tokenutilR    R   R   R   R   R   R   R"   R%   R*   (    (    (    sZ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/utils/tests/test_tokenutil.pyt   <module>   s   							