HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/idlelib/idle_test/__pycache__/test_hyperparser.cpython-37.opt-2.pyc
B

!��gz#�@stddlmZddlZddlmZddlmZmZddlm	Z	Gdd�d�Z
Gdd	�d	ej�Ze
d
krpejdd�dS)
�)�HyperParserN)�requires)�Tk�Text)�EditorWindowc@s eZdZdd�ZejZejZdS)�DummyEditwincCs"||_d|_d|_d|_d|_dS)N�z>>>)�2i�i�)�textZindentwidthZtabwidth�prompt_last_lineZnum_context_lines)�selfr
�r
�>/usr/local/lib/python3.7/idlelib/idle_test/test_hyperparser.py�__init__
s
zDummyEditwin.__init__N)�__name__�
__module__�__qualname__rrZ_build_char_in_string_funcZis_char_in_stringr
r
r
rr	src@sxeZdZdZedd��Zedd��Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�HyperParserTestu#"""This is a module docstring"""
# this line is a comment
x = "this is a string"
y = 'this is also a string'
l = [i for i in range(10)]
m = [py*py for # comment
       py in l]
x.__len__
z = ((r'asdf')+('a')))
[x for x in
for = False
cliché = "this is a string with unicode, what a cliché"cCs6td�t�|_|j��t|j�|_t|j�|_dS)NZgui)rr�rootZwithdrawrr
r�editwin)�clsr
r
r�
setUpClass%s

zHyperParserTest.setUpClasscCs|`|`|j��|`dS)N)r
rrZdestroy)rr
r
r�
tearDownClass-s
zHyperParserTest.tearDownClasscCs|j�d|j�dS)N�insert)r
r�code)rr
r
r�setUp3szHyperParserTest.setUpcCs|j�dd�d|j_dS)Nz1.0�endz>>>)r
�deleterr)rr
r
r�tearDown6szHyperParserTest.tearDowncCst|j|�S)N)rr)r�indexr
r
r�
get_parser:szHyperParserTest.get_parserc	Cs�|�t�� }|j�ddd�|�d�}WdQRX|�dt|j��d|j_	|�d�}|�
|j|j�dd��|j�
d|j�dd�d�|�d	�}dS)
NZconsolez1.0z1.endz1.5�precedes�r�z54.5)�assertRaises�
ValueErrorr
Ztag_addr �assertIn�str�	exceptionrr�assertEqualZrawtext�getr)r�ve�pr
r
r�	test_init@s
zHyperParserTest.test_initcCs�|j}|d�}|�|���|d�}|�|���|d�}|�|���|d�}|�|���|d�}|�|���|d�}|�|���|d�}|�|���dS)Nz1.0z1.4z2.3z3.3z3.7z4.6z12.54)r �assertFalseZis_in_string�
assertTrue)rr*r,r
r
r�test_is_in_stringTsz!HyperParserTest.test_is_in_stringcCs�|j}|d�}|�|���|d�}|�|���|d�}|�|���|d�}|�|���|d�}|�|���|d�}|�|���dS)Nz1.0z1.1z2.5z3.4z3.6z4.14)r r/Z
is_in_coder.)rr*r,r
r
r�test_is_in_codefszHyperParserTest.test_is_in_codecCs�|j}dd�}dd�}|d�}|�||��|�||��|d�}|�||�d�|�||�||��|d�}|�||�d	�|�||�||��|d
�}|�||�d�|�||��|d�}|�||��|�||��dS)
NcSs|jdd�S)NF)�	mustclose)�get_surrounding_brackets)�parserr
r
r�without_mustcloseyszGHyperParserTest.test_get_surrounding_bracket.<locals>.without_mustclosecSs|jdd�S)NT)r2)r3)r4r
r
r�with_mustclose~szDHyperParserTest.test_get_surrounding_bracket.<locals>.with_mustclosez3.2z5.6)z5.4z5.25z5.23)z5.21z5.24z6.15)z6.4z6.endz9.end)r ZassertIsNoneZassertTupleEqual)rr*r5r6r,r
r
r�test_get_surrounding_bracketvs$z,HyperParserTest.test_get_surrounding_bracketc	Cs�|j}|d�}|�|��d�|d�}|�t��}|��WdQRX|�dt|j��|d�}|�|��d�|d�}|�|��d�|d	�}|�|��d
�|d�}|�|��d�|d�}|�|��d
�|d�}|�|��d�|d�}|�t��}|��WdQRX|�dt|j��|d�}|�|��d
�|d�}|�|��d
�|d�}|�|��d
�|d�}|�|��d
�|d�}|�|��d�|d�}|�|��d�dS)Nz4.2zy z4.7zis inside a codez5.25z	range(10)z6.7�pyz6.8r"z7.9z8.endz	x.__len__z9.13zr'asdf'z9.17z10.0z10.6z10.11z11.3z11.11�Falsez12.6ucliché)r r)Zget_expressionr$r%r&r'r()rr*r,r+r
r
r�test_get_expression�sFz#HyperParserTest.test_get_expressioncCs�dd�}|�|d��|�|d��|�|d��|�|d��|�|d��|�|d��|�|d	��|�|d
��|�|d��|�|d��|�|d
��|�|d��|�|d��|�|d��|�|d��|�|d��|�|d��|�t�ddd�td��|�t�ddd�td��|�t�ddd�td��|�|d��|�|d��|�|d��|�|d��|�|d��|�|d ��|�|d!��|�|d"��dS)#NcSsJt�|dt|��}|t|�kr"dS|dkr.dSd�|t|��}t|��dS)NrTFz'Unexpected result: {} (expected 0 or {})r�_eat_identifier�len�format�	Exception)�	candidate�resultZerr_msgr
r
r�is_valid_id�sz8HyperParserTest.test_eat_identifier.<locals>.is_valid_idZ2notidZvalid_idZ	_valid_idZ	valid_id_Z
_2valid_id�Truer9�None�for�import�returnZclicheuclichéua٢Z2au٢aua²z+ varr��varz+varr#z.var�+� �:�?�^�\�"z
"a string")r.r/r)rr;r<)rrAr
r
r�test_eat_identifier�s:
z#HyperParserTest.test_eat_identifiercCs*tj}�xtdd�D�]}|�|d|d|�|�|�|d|d|�|�|�|dd|dd|�|�|�|dd|dd|�|�|�|dd|dd|�|�|�|d|ddd|�|�|�|d|d|�d�|�|dd|dd|�d�|�|dd|dd|�d�qWdS)N���ar�é�2rI)rr;�ranger))rZeat_id�lengthr
r
r�#test_eat_identifier_various_lengthss     z3HyperParserTest.test_eat_identifier_various_lengthsN)rrrr�classmethodrrrrr r-r0r1r7r:rPrXr
r
r
rrs!49r�__main__�)�	verbosity)Zidlelib.hyperparserrZunittestZtest.supportrZtkinterrrZidlelib.editorrrZTestCaserr�mainr
r
r
r�<module>s