
    fN                         d Z ddlZddlmZmZ d Zd Zd Zd Zd Z	d	 Z
d
 Zd Zej                  j                  d e e edd             e edd            z   dgdz  dgdz  z               d        Zy)zTests for tokenutil    N)token_at_cursorline_at_cursorc                     t        ||      }d}|j                         D ]&  }|t        |      z   |k\  r n|t        |      dz   z  }( ||z
  }d | d||d  }|| k(  sJ d| |||fz         y )Nr      |z#Expected %r, got %r in: %r (pos %i))r   
splitlineslen)expectedcell
cursor_postokenoffsetlinecolumnline_with_cursors           ]/var/www/cvtools/html/venv/lib/python3.12/site-packages/IPython/utils/tests/test_tokenutil.pyexpect_tokenr   	   s    D*-EF! "CI+c$ik!F	"
 & F"&w-fg?H C	G      c                  T    d} t        t        |             D ]  }t        d| |        y )Nfoo)ranger	   r   )r   is     r   test_simpler      s+    D3t9 %UD!$%r   c                  V   d} d}t        | j                  d      dz         D ]  }t        d| |        | j                  d      dz   | j                  d      dz   fD ]  }t        d| |        t        | j                  d      | j                  d            D ]  }t        d| |        y )Nzfoo(a=5, b='10')r   a=r   =,zb=)r   findr   rfind)r   r
   r   s      r   test_functionr        s    DH499T?Q&' %UD!$% iinq $**S/A"56 %UD!$% 499S>499T?3 %UD!$%r   c                  *   dj                  ddg      } d}| j                  |      dz   }t        ||t        |      z         D ]  }t	        || |        d}| j                  |      dz   }t        ||t        |      z         D ]  }t	        || |        y )N
za = 5b = hello("string", there)hellor   joinindexr   r	   r   r   r
   startr   s       r   test_multiliner*   -   s    99$ D HJJx 1$E5%#h-/0 (XtQ'(HJJx 1$E5%#h-/0 (XtQ'(r   c                  *   dj                  g d      } d}| j                  |      dz   }t        ||t        |      z         D ]  }t	        || |        d}| j                  |      dz   }t        ||t        |      z         D ]  }t	        || |        y )Nr"   )z"""

xxxxxxxxxx

"""z5, """	docstringzmultiline tokenz""", [z2, 3, "complicated"]r#   r$   r   r%   r(   s       r   test_multiline_tokenr-   ;   s    99  D HJJx 1$E5%#h-/0 (XtQ'(HJJx 1$E5%#h-/0 (XtQ'(r   c                  ^   d} d}| j                  d      dz   }t        ||dz         D ]  }t        || |        d}| j                  d      }t        ||dz         D ]  }t        || |        d}| j                  d      dz   }t        |t        |       dz
        D ]  }t        || |        y )Nzfoo(bar(a=5), b=10)r   barr      r   ))r'   r   r   r	   r(   s       r   test_nested_callr2   N   s     DHJJu!E5%!)$ (XtQ'(HJJtE5%!)$ (XtQ'(HJJsOaE5#d)A+& (XtQ'(r   c                  ^   d} d}| j                  d      dz   }t        ||dz         D ]  }t        || |        | j                  d      dz   }d}t        ||dz         D ]  }t        || |        | j                  d	      dz   }d
}t        |t        |             D ]  }t        || |        y )Nza = obj.attr.subattrobjr   r0   z.attr   zobj.attr   z.subattrzobj.attr.subattr)r   r   r   r	   )r   r
   idxr   s       r   
test_attrsr8   ]   s    !DH
))E
Q
C3a  (XtQ'(
))G
q
 CH3a  (XtQ'(
))J
!
#C!H3D	" (XtQ'(r   c                      d} t        | d      \  }}|dk(  sJ |dk(  sJ d} t        | d      \  }}|dk(  sJ |dk(  sJ d} t        | d	      \  }}|d
k(  sJ |dk(  sJ y )N    )r   r   zOne
Two
r6   zTwo
zpri
pri   pri)r   )r   r   r   s      r   test_line_at_cursorr>   l   s    D#DR8NT62::Q;; D#DQ7NT67??Q;; D#DQ7NT65==Q;;r   zc, token         int   mapc                 "    d}t        |||        y )Nza = (1,
    3)

int()
map()
)r   )cr   r   s      r   test_multiline_statementrG      s    D a r   )__doc__pytestIPython.utils.tokenutilr   r   r   r   r    r*   r-   r2   r8   r>   markparametrizeziplistr   rG    r   r   <module>rP      s      C$%
%((&((& U2r]d5R=11	7ug11!!r   