o
    DDiF                    @   s   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZmZ d dlmZmZ edZed	Zed
ZedZG dd deZdS )    )Sequence)ParserSyntaxError)PythonTokenTypes)parse_version_stringPythonVersionInfo)WhitespaceState)Tokentokenize)data_providerUnitTestz3.8.0z3.7.0z3.6.0z3.5.0c                )   @   s  e Zd ZdZedeeejddde	dddd	d
e	dddd	d
ddeej
ddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddffdeeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeej
ddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejd dd!e	dddd	d
e	dddd	d
ddeejdd!d"e	dddd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddf	fd$eeejd%dde	dddd	d
e	dddd	d
ddeejd&dd'e	dddd	d
e	dd(dd	d
ddeejdd)d*e	dd(dd	d
e	dd+dd	d
ddeej
d,d*d-e	dd+dd	d
e	dd.dd/d
ddeej
d0d-d1e	dd.dd/d
e	dd2dd	d
ddeej
dd1d3e	dd2dd	d
e	dd4dd	d
ddeejdd3de	dd4dd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejd5dd6e	dddd	d
e	dd7dd	d
ddeejd8d9d:e	dd7dd	d
e	dd4dd	d
ddeejd d;d<e	dd4dd	d
e	dd=dd	d
ddeejdd<d"e	dd=dd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddffd>eeejd%dde	dddd	d
e	dddd	d
ddeej
ddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddffdeeejddde	dddd	d
e	dddd	d
ddeej
ddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddffdeeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeej
ddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejd dd!e	dddd	d
e	dddd	d
ddeejdd!d"e	dddd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddf	fd$eeejd%dde	dddd	d
e	dddd	d
ddeejd&dd'e	dddd	d
e	dd(dd	d
ddeejdd)d*e	dd(dd	d
e	dd+dd	d
ddeej
d,d*d-e	dd+dd	d
e	dd.dd/d
ddeej
d0d-d1e	dd.dd/d
e	dd2dd	d
ddeej
dd1d3e	dd2dd	d
e	dd4dd	d
ddeejdd3de	dd4dd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejd5dd6e	dddd	d
e	dd7dd	d
ddeejd8d9d:e	dd7dd	d
e	dd4dd	d
ddeejd d;d<e	dd4dd	d
e	dd=dd	d
ddeejdd<d"e	dd=dd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddffd>eeejd%dde	dddd	d
e	dddd	d
ddeej
ddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddffdeeejddde	dddd	d
e	dddd	d
ddeej
ddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddffdeeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeej
ddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejd dd!e	dddd	d
e	dddd	d
ddeejdd!d"e	dddd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddf	fd$eeejd%dde	dddd	d
e	dddd	d
ddeejd&dd'e	dddd	d
e	dd(dd	d
ddeejdd)d*e	dd(dd	d
e	dd+dd	d
ddeej
d,d*d-e	dd+dd	d
e	dd.dd/d
ddeej
d0d-d1e	dd.dd/d
e	dd2dd	d
ddeej
dd1d3e	dd2dd	d
e	dd4dd	d
ddeejdd3de	dd4dd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejd5dd6e	dddd	d
e	dd7dd	d
ddeejd8d9d:e	dd7dd	d
e	dd4dd	d
ddeejd d;d<e	dd4dd	d
e	dd=dd	d
ddeejdd<d"e	dd=dd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddffdeeejddde	dddd	d
e	dddd	d
ddeej
ddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddffdeeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeej
ddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejd dd!e	dddd	d
e	dddd	d
ddeejdd!d"e	dddd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddf	fd$eeejd%dde	dddd	d
e	dddd	d
ddeejd&dd'e	dddd	d
e	dd(dd	d
ddeejdd)d*e	dd(dd	d
e	dd+dd	d
ddeej
d,d*d-e	dd+dd	d
e	dd.dd/d
ddeej
d0d-d1e	dd.dd/d
e	dd2dd	d
ddeej
dd1d3e	dd2dd	d
e	dd4dd	d
ddeejdd3de	dd4dd	d
e	dddd	d
ddeejddde	dddd	d
e	dddd	d
ddeejd5dd6e	dddd	d
e	dd7dd	d
ddeejd8d9d:e	dd7dd	d
e	dd4dd	d
ddeejd d;d<e	dd4dd	d
e	dd=dd	d
ddeejdd<d"e	dd=dd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddeejdd"d"e	d#ddd	d
e	d#ddd	d
ddffd?d@edAedBee d5dfdCdDZdIdEdFZdIdGdHZdS )JWrappedTokenizeTesti'  zpass;
pass)   r   )r      r   r    F)linecolumnabsolute_indentis_parenthesizedr   N)typestring	start_posend_poswhitespace_beforewhitespace_afterrelative_indent;)r      r   
)   r   r   zif foo:
    bar
if)r   r   foo)r      )r      r#   :)r      r%   z    )r   r   bar)r   r%   )r"   r   r"   z&async def foo():
    return await bar
asyncdef)r   	   r)   )r   
   )r      r+   ()r      r-   T))r      r/   )r      r0   return)r   r*   r*   await)r      )r   r0   )r      )r      r5   zasync;
)simple_py35with_indent_py35
async_py35async_no_token_35simple_py36with_indent_py36
async_py36async_no_token_36simple_py37with_indent_py37
async_py37simple_py38with_indent_py38
async_py38codeverexpectedc                 C   sJ   t t||}| || t||dd  D ]\}}| |j|j qd S )Nr   )tupler	   assertSequenceEqualzipassertIsr   r   )selfrD   rE   rF   tokensab rO   c/var/www/Datamplify/venv/lib/python3.10/site-packages/libcst/_parser/tests/test_wrapped_tokenize.pytest_tokenize   s&                 Uz!WrappedTokenizeTest.test_tokenizec              	   C   N   t ttfD ]}| td ttd| W d    n1 sw   Y  qd S )Nznot a valid token   ©_PY36_PY37_PY38assertRaisesRegexr   rG   r	   rK   versionrO   rO   rP   test_errortokeng  s   z#WrappedTokenizeTest.test_errortokenc              	   C   rR   )NzInconsistent indentationz	    a
  brT   rY   rO   rO   rP   test_error_dedentn  s   z%WrappedTokenizeTest.test_error_dedent)r1   N)__name__
__module____qualname__maxDiffr
   _PY35r   r   NAMEr   OPNEWLINE	ENDMARKERINDENTDEDENTASYNCAWAITrU   rV   rW   strr   r   rQ   r[   r\   rO   rO   rO   rP   r      s   ;   n;;   n;;   n;                            R

r   N)typingr   libcst._exceptionsr   !libcst._parser.parso.python.tokenr   libcst._parser.parso.utilsr   r   %libcst._parser.types.whitespace_stater   libcst._parser.wrapped_tokenizer   r	   libcst.testing.utilsr
   r   rW   rV   rU   ra   r   rO   rO   rO   rP   <module>   s   