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.10/idlelib/idle_test/__pycache__/test_parenmatch.cpython-310.pyc
o

�i�
�@s�dZddlmZddlmZed�ddlZddlmZddlm	Z	m
Z
Gdd	�d	�ZGd
d�dej�Z
edkr@ejd
d�dSdS)z�Test parenmatch, coverage 91%.

This must currently be a gui test because ParenMatch methods use
several text methods not defined on idlelib.idle_test.mock_tk.Text.
�)�
ParenMatch)�requiresZguiN)�Mock)�Tk�Textc@seZdZdd�ZdS)�DummyEditwincCs||_d|_d|_d|_dS)N�z>>>)�textZindentwidthZtabwidthZprompt_last_line)�selfr	�r�>/usr/local/lib/python3.10/idlelib/idle_test/test_parenmatch.py�__init__s
zDummyEditwin.__init__N)�__name__�
__module__�__qualname__r
rrrrrsrc@sLeZdZedd��Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dS)�ParenMatchTestcCs8t�|_|j��t|j�|_t|j�|_t�|j_dS�N)	r�rootZwithdrawrr	r�editwinrZ
text_frame��clsrrr�
setUpClasss

zParenMatchTest.setUpClasscCs$|`|`|j��|j��|`dSr)r	rrZupdate_idletasksZdestroyrrrr�
tearDownClass!s

zParenMatchTest.tearDownClasscCs|j�dd�dS)N�1.0�end)r	�delete)r
rrr�tearDown(szParenMatchTest.tearDowncCst|j�}dd�|_|S)NcSsdSrrrrrr�<lambda>-sz/ParenMatchTest.get_parenmatch.<locals>.<lambda>)rrZbell�r
�pmrrr�get_parenmatch+s

zParenMatchTest.get_parenmatchc	Cs|j}|��}dD]z\}}}|j|d��g|�dd�||_|�dd�|�d�|�d|���|d	kr?|�	|�
d
d�d�|�	|�d
d�|�|�dd�|��|�
d|���|�|�d
d�d
�|�d�|�	|�d
d�|�Wd�n1s~wYq	dS)z2
        Test ParenMatch with each style.
        ))�opener��1.10z1.11r")�defaultr"r")�parens)z1.14�1.15)r&�1.16)Z
expression)r#r&)r#r')�stylerr�insertzdef foobar(a, b�eventz<<parenmatch-check-restore>>r%Zparenr"�)rN)r	r ZsubTestrZSTYLEr)�flash_paren_eventZassertInZ
event_infoZassertTupleEqualZ
tag_nextrangeZ
tag_prevrange�
restore_eventZassertNotInZassertEqual�paren_closed_event)r
r	rr(Zrange1Zrange2rrr�test_paren_styles0s:
���
����z ParenMatchTest.test_paren_stylescCs^|j}|��}|�dd�|�d�|�dd�|�d�|�d�|�dd�|�d�dS)z�
        Test corner cases in flash_paren_event and paren_closed_event.

        Force execution of conditional expressions and alternate paths.
        r)z# Comment.)r*z
defz	 a, *arg)N)r	r r)r.r,)r
r	rrrr�test_paren_cornerRs


z ParenMatchTest.test_paren_cornercCsN|��}t�|_|�d�|�|jj�|j��|�d�|�|jj�dS)Nr�)r rr-Zhandle_restore_timerZ
assertTrueZcalledZ
reset_mockZassertFalserrrr�test_handle_restore_timeres


z(ParenMatchTest.test_handle_restore_timerN)rrr�classmethodrrrr r/r0r2rrrrrs

"r�__main__�)�	verbosity)�__doc__Zidlelib.parenmatchrZtest.supportrZunittestZ
unittest.mockr�tkinterrrrZTestCaserr�mainrrrr�<module>sX�