Your IP : 3.17.73.4


Current Path : /opt/alt/python37/lib64/python3.7/idlelib/idle_test/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/idlelib/idle_test/__pycache__/test_parenmatch.cpython-37.pyc

B

� f�
�@s�dZddlmZddlmZed�ddlZddlmZddlm	Z	m
Z
Gdd	�d	�ZGd
d�dej�Z
edkr|ejd
d�dS)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�F/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_parenmatch.py�__init__szDummyEditwin.__init__N)�__name__�
__module__�__qualname__r
rrrrrsrc@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��|`dS)N)r	rrZupdate_idletasksZdestroy)rrrr�
tearDownClass!s

zParenMatchTest.tearDownClasscCs|j�dd�dS)Nz1.0�end)r	�delete)r
rrr�tearDown(szParenMatchTest.tearDowncCst|j�}dd�|_|S)NcSsdS)Nrrrrr�<lambda>-�z/ParenMatchTest.get_parenmatch.<locals>.<lambda>)rrZbell)r
�pmrrr�get_parenmatch+s

zParenMatchTest.get_parenmatchc
Cs�|j}|��}x�dD]�\}}}|j|d���|�dd�||_|�dd�|�d�|�d|���|d	kr�|�	|�
d
d�d�|�	|�d
d�|�|�dd�|��|�
d|���|�|�d
d�d
�|�d�|�	|�d
d�|�WdQRXqWdS)z2
        Test ParenMatch with each style.
        ))�opener)z1.10z1.11)z1.10z1.11)�default)z1.10z1.11)z1.10z1.11)�parens)z1.14z1.15)z1.15z1.16)Z
expression)z1.10z1.15)z1.10z1.16)�stylez1.0r�insertzdef foobar(a, b�eventz<<parenmatch-check-restore>>r Zparen)z1.10z1.11�)rN)r	rZsubTestrZSTYLEr"�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.

        These cases force conditional expression and alternate paths.
        r"z# this is a commen)r#z
defz	 a, *arg)N)r	rr"r'r%)r
r	rrrr�test_paren_cornerRs


z ParenMatchTest.test_paren_cornercCsN|��}t�|_|�d�|�|jj�|j��|�d�|�|jj�dS)Nr�)rrr&Zhandle_restore_timerZ
assertTrueZcalledZ
reset_mockZassertFalse)r
rrrr�test_handle_restore_timeres


z(ParenMatchTest.test_handle_restore_timerN)rrr�classmethodrrrrr(r)r+rrrrrs"r�__main__�)�	verbosity)�__doc__Zidlelib.parenmatchrZtest.supportrZunittestZ
unittest.mockrZtkinterrrrZTestCaserr�mainrrrr�<module>sX

?>