
    &eN                        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                            d e e edd                     e edd                    z   dgdz  dgdz  z                       d             ZdS )zTests for tokenutil    N)token_at_cursorline_at_cursorc                    t          ||          }d}|                                D ]/}|t          |          z   |k    r n|t          |          dz   z  }0||z
  }|d |         d||d          }|| k    sJ d| |||fz              d S )Nr      |z#Expected %r, got %r in: %r (pos %i))r   
splitlineslen)expectedcell
cursor_postokenoffsetlinecolumnline_with_cursors           Blib/python3.11/site-packages/IPython/utils/tests/test_tokenutil.pyexpect_tokenr   	   s    D*--EF!! " "CII++Ec$iik!FF& F"&ww---fgg?HC	G     c                  j    d} t          t          |                     D ]}t          d| |           d S )Nfoo)ranger	   r   )r   is     r   test_simpler      sC    D3t99 % %UD!$$$$% %r   c                     d} d}t          |                     d          dz             D ]}t          d| |           |                     d          dz   |                     d          dz   fD ]}t          d| |           t          |                     d          |                     d                    D ]}t          d| |           d S )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nnq $**S//A"56 % %UD!$$$$499S>>499T??33 % %UD!$$$$% %r   c                  l   d                     ddg          } d}|                     |          dz   }t          ||t          |          z             D ]}t	          || |           d}|                     |          dz   }t          ||t          |          z             D ]}t	          || |           d S )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0 ( (XtQ''''HJJx  1$E5%#h--/00 ( (XtQ''''( (r   c                  l   d                     g d          } d}|                     |          dz   }t          ||t          |          z             D ]}t	          || |           d}|                     |          dz   }t          ||t          |          z             D ]}t	          || |           d S )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0 ( (XtQ''''HJJx  1$E5%#h--/00 ( (XtQ''''( (r   c                     d} d}|                      d          dz   }t          ||dz             D ]}t          || |           d}|                      d          }t          ||dz             D ]}t          || |           d}|                      d          dz   }t          |t          |           dz
            D ]}t          || |           d S )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JJsOOaE5#d))A+&& ( (XtQ''''( (r   c                     d} d}|                      d          dz   }t          ||dz             D ]}t          || |           |                      d          dz   }d}t          ||dz             D ]}t          || |           |                      d	          dz   }d
}t          |t          |                     D ]}t          || |           d S )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 d S )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888NT62::::Q;;;; D#DQ777NT67????Q;;;; D#DQ777NT65====Q;;;;;;r   zc, token         int   mapc                 ,    d}t          |||            d S )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      s8      C C C C C C C C  $% % %
% % %( ( (( ( (&( ( (( ( (  & CUU2r]]dd55R==111	7ug11  ! ! ! ! !r   