U
    1e                     @   sx   d Z ddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ edd	 ed
dd D dkZG dd deZdS )zTest lexers module    )TestCase)__version__)Token)	BashLexer   )lexersc                 c   s   | ]}t |V  qd S N)int).0x r   A/tmp/pip-unpacked-wheel-3hxk2k58/IPython/lib/tests/test_lexers.py	<genexpr>   s     r   .N)r      c                   @   s    e Zd ZdZdd Zdd ZdS )
TestLexerszCollection of lexers testsc                 C   s   t  | _t | _d S r   )r   ZIPythonLexerlexerr   
bash_lexer)selfr   r   r   setUp   s    
zTestLexers.setUpc                 C   s  d}t jdfg}|| j|dd   t| j|}|d d |d d ksVtd| }t jdfg|dd   }|d d t| j|d d kstd|dd   }t jdft jdft jd	fg|dd   }|t| j|kstd
| }t j	dft jdft jdft jdfg| }|d d t| j|d d ksHtd| }t j	dft j
dft jdft jdft jdfg| }|d d t| j|d d kstd|dd   }t j	dft j
dft jdft jdft jdft jdft jdft jdfg|dd   }|d t jdfkr4tr4t jjdf|d< |d d t| j|d d ks^td}t j	dft jdft jdft jdft jdft jdft jdfg}|t| j|kstd}t jdft jdft jdft jdfg}|t| j|kstd}t jdft jdft jdft jd	fg}|d d t| j|d d ksLtd }t j	dft jdft jd!ft jdft j	d"ft jd	fg}|d d t| j|d d kstd#}t jdft jdft jd$ft jd	fg}|d d t| j|d d ks td%}t jd&ft jdft jd	fg}|t| j|ks:td'}t jd(ft jd)ft jd*ft jdft j	d+ft jdft jd,ft jdft j	d-ft j
d.ft jd	ft jd/ft jd0ft jd	fg}|d1 t jd	fkrtrt jjd	f|d1< |d d t| j|d d kstd2}t jd3ft j	d4ft jd5ft j	d6ft j
d7ft jjjd8ft j
d9ft jd	fg}d:}t jd;ft jd	ft j
d<ft j	jd=ft j
d>ft jd?ft j
d<ft j
d@ft j	jd=ft j
d>ft jd	fg}|t| j|kstd S )ANz!echo $HOME
!   z!!z	 %%!
z	 z%%!
zx = r    =zx, = ,z	x, = %sx %Zsx   zf = %R function () {}
fRz function () {}
z	%%xyz
$foo
	z%%Zxyzz
$foo
z	%system?
system?zx != y
z!=yz ?math.sin
zmath.sinz *int*?
z *int*z)%%writefile -a foo.py
if a == b:
    passz%%writefilez -a foo.py
ifaz==b:z    pass
   z%%timeit
math.sin(0)z	%%timeit
mathr   sin(0)z%%HTML
<div>foo</div>z%%HTML<div>Zfoo/)r   ZOperatorextendr   Z
get_tokenslistr   AssertionErrorTextNameZPunctuationKeywordpyg214
WhitespaceLiteralNumberZIntegerTag)r   fragmentZbash_tokensZipylex_tokenZ
fragment_2Ztokens_2tokensr   r   r   testIPythonLexer   s   
(
**	

*	****

zTestLexers.testIPythonLexerN)__name__
__module____qualname____doc__r   rA   r   r   r   r   r      s   r   )rE   Zunittestr   Zpygmentsr   Zpygments_versionZpygments.tokenr   Zpygments.lexersr    r   tuplesplitr:   r   r   r   r   r   <module>   s   $