Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/idlelib/idle_test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/idlelib/idle_test/__pycache__/test_config_key.cpython-38.pyc

U

i�f�%�@s�dZddlmZddlmZddlZddlmZddlmZm	Z	ddl
mZddlm
Z
ejZGd	d
�d
ej�ZGdd�dej�ZGd
d�dej�ZGdd�dej�ZGdd�dej�Zedkr�ejdd�dS)z�Test config_key, coverage 98%.

Coverage is effectively 100%.  Tkinter dialog is mocked, Mac-only line
may be skipped, and dummy function in bind test should not be called.
Not tested: exit with 'self.advanced or self.keys_ok(keys)) ...' False.
�)�
config_key)�requiresN)�mock)�Tk�TclError)�Func)�	Mbox_funcc@s�eZdZdZGdd�de�Zedd��Zedd��Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�ZdS)�ValidationTestz.Test validation methods: ok, keys_ok, bind_ok.c@s eZdZdd�Ze�Ze�ZdS)zValidationTest.ValidatorcOs,tjj|f|�|�Gdd�d�}||_dS)Nc@seZdZe�ZdS)z:ValidationTest.Validator.__init__.<locals>.list_keys_finalN)�__name__�
__module__�__qualname__r�get�rr�F/opt/alt/python38/lib64/python3.8/idlelib/idle_test/test_config_key.py�list_keys_finalsr)r�
GetKeysDialog�__init__r��self�args�kwargsrrrrrsz!ValidationTest.Validator.__init__N)r
rrrr�
get_modifiersr�	showerrorrrrr�	ValidatorsrcCsDtd�t�|_|j��dgddgg}|j|jdd|dd�|_dS)	N�gui�	<Key-F12>�<Control-Key-x>�<Control-Key-X>�Title�<<Test>>T�Z_utest)rr�root�withdrawr�dialog)�clsZkeylistrrr�
setUpClasss
�zValidationTest.setUpClasscCs*|j��|j��|j��|`|`dS�N�r#Zcancelr!Zupdate_idletasksZdestroy�r$rrr�
tearDownClass(s


zValidationTest.tearDownClasscCsd|jj_dS)N�)r#r�message�rrrr�setUp/szValidationTest.setUpcCs>|jj�d�|j��|�|jjd�|�|jjjd�dS)N� r*zNo key specified.)r#�
key_string�set�ok�assertEqual�resultrr+r,rrr�
test_ok_empty4s
zValidationTest.test_ok_emptycCsJ|jj�d�d|jjj_|j��|�|jjd�|�|jjj	d�dS)N�	<Key-F11>�F11r*)
r#r/r0rr
r3r1r2rr+r,rrr�test_ok_good:s

zValidationTest.test_ok_goodcCs(|�|j�d��|�d|jjj�dS)Nz<Control-ShiftzMissing the final)�assertFalser#�keys_ok�assertInrr+r,rrr�test_keys_no_endingAsz"ValidationTest.test_keys_no_endingcCs4d|jjj_|�|j�d��|�d|jjj�dS)N�Az<Key-A>zNo modifier)	r#rr
r3r8r9r:rr+r,rrr�test_keys_no_modifier_badEsz(ValidationTest.test_keys_no_modifier_badcCs4d|jjj_|�|j�d��|�|jjjd�dS)Nr6r5r*)	r#rr
r3�
assertTruer9r2rr+r,rrr�test_keys_no_modifier_okJsz'ValidationTest.test_keys_no_modifier_okcCsJd|jjj_dg|jj_|�|j�d��|�d|jjj	�g|jj_dS)N�a�Shiftz<a>zshift modifier)
r#rr
r3rr8r9r:rr+r,rrr�test_keys_shift_badOs
z"ValidationTest.test_keys_shift_badc
Cs�gddfdgddfdgddffD]`\}}}|j|||d��@||jjj_||jj_|�|j�|��|�d	|jj	j
�W5QRXq g|jj_dS)
NZF12r�Control�xr�Xr)�m�f�szalready in use)ZsubTestr#rr
r3rr8r9r:rr+)rZmods�final�seqrrr�
test_keys_dupVs

�
zValidationTest.test_keys_dupcCs(|�|j�d��|�|jjjd�dS)Nz<Control-Shift-Key-a>r*)r>r#�bind_okr2rr+r,rrr�test_bind_okaszValidationTest.test_bind_okcCs(|�|j�d��|�d|jjj�dS)Nz<Control-Shift>znot accepted)r8r#rLr:rr+r,rrr�test_bind_not_okeszValidationTest.test_bind_not_okN)r
rr�__doc__�gkdr�classmethodr%r)r-r4r7r;r=r?rBrKrMrNrrrrr	s 	

r	c@s0eZdZdZedd��Zedd��Zdd�ZdS)	�ToggleLevelTestz.Test toggle between Basic and Advanced frames.cCs4td�t�|_|j��t|jddgdd�|_dS�NrrrTr �rrr!r"rPr#r(rrrr%ms
zToggleLevelTest.setUpClasscCs*|j��|j��|j��|`|`dSr&r'r(rrrr)ts


zToggleLevelTest.tearDownClasscs�|j��fdd�}|��j�|�d�jd�|�\}}|�||����|��j�|�d�jd�|�\}}|�||��j��|��j�|�d�jd�|�\}}|�||�dS)Ncs<t�j���D]$\}}|jdkr$|}|jdkr|}q||fS)z�Get the stack order of the children of the frame.

            winfo_children() stores the children in stack order, so
            this can be used to check whether a frame is above or
            below another one.
            Zkeyseq_basicZkeyseq_advanced)�	enumerate�frameZwinfo_children�_name)�indexZchild�basic�advanced�r#rr�
stackorder~s

z5ToggleLevelTest.test_toggle_level.<locals>.stackorderZAdvanced�text�Basic)	r#r8rZr:Zbutton_levelZ
assertGreaterZtoggle_levelr>�invoke)rr\rYrZrr[r�test_toggle_level{s 



z!ToggleLevelTest.test_toggle_levelN)r
rrrOrQr%r)r`rrrrrRjs

rRc@steZdZdZGdd�de�Zedd��Zedd��Zdd	�Z	d
d�Z
ej�
ed�d
d��Zej�
ed�dd��ZdS)�KeySelectionTestz#Test selecting key on Basic frames.cs*eZdZ�fdd�Zdd�Ze�Z�ZS)zKeySelectionTest.Basiccs&t�j||�Gdd�d�}||_dS)Nc@seZdZe�Ze�Ze�ZdS)z8KeySelectionTest.Basic.__init__.<locals>.list_keys_finalN)r
rrrr
Zselect_clearZyviewrrrrr�sr)�superrrr��	__class__rrr�szKeySelectionTest.Basic.__init__cCsdddg|_ddi|_dS)N�fooZbar�BAZZZZZ)Z	modifiersZmodifier_labelr,rrr�set_modifiers_for_platform�sz1KeySelectionTest.Basic.set_modifiers_for_platform)r
rrrrgrr�
__classcell__rrrcrr^�sr^cCs6td�t�|_|j��|j|jddgdd�|_dSrS)rrr!r"r^r#r(rrrr%�s
zKeySelectionTest.setUpClasscCs*|j��|j��|j��|`|`dSr&r'r(rrrr)�s


zKeySelectionTest.tearDownClasscCs|j��dSr&)r#Z
clear_key_seqr,rrrr-�szKeySelectionTest.setUpcCsl|j}|j}|j}|jd��||�dg�|jd��||�ddg�|jd��||�dg�dS)Nrerf)r#rr2Zmodifier_checkbuttonsr_)rr#Zgm�eqrrr�test_get_modifiers�sz#KeySelectionTest.test_get_modifiersrcCs�|j}|j}|jj}|j}d|j_g|_|��||�d�dg|_|��||�d�d|j_ddg|_|��||�d�dS)Nr@z<Key-a>Zmymodz
<mymod-Key-a>r*Ztestz<mymod-test>)r#rr/r
r2r3�return_valueZbuild_key_string�rZmock_modifiersr#�key�stringrirrr�test_build_key_string�s
z&KeySelectionTest.test_build_key_stringcCsB|j}|j}|jj}|j}dg|_d|j_|��||�d�dS)NrA�{z<Shift-Key-braceleft>)r#rr/r
r2rkr3Zfinal_key_selectedrlrrr�test_final_key_selected�sz(KeySelectionTest.test_final_key_selectedN)r
rrrOrPr^rQr%r)r-rjrZpatch�objectrorqrrrrra�s



rac@s0eZdZdZedd��Zedd��Zdd�ZdS)	�
CancelTestz'Simulate user clicking [Cancel] button.cCs4td�t�|_|j��t|jddgdd�|_dSrSrTr(rrrr%�s
zCancelTest.setUpClasscCs*|j��|j��|j��|`|`dSr&r'r(rrrr)�s


zCancelTest.tearDownClassc	CsR|�|j��d�|jj��|�t��|j��W5QRX|�|jjd�dS)NZToplevelr*)r2r#Zwinfo_classZ
button_cancelr_ZassertRaisesrr3r,rrr�test_cancels
zCancelTest.test_cancelN)r
rrrOrQr%r)rtrrrrrs�s

rsc@seZdZdZdd�ZdS)�
HelperTestz#Test module level helper functions.cCs�tj}|j}||dg�d�||dddg�d�||ddg�d�||dddg�d�||ddddg�d�||dg�d�||d	dg�d
�dS)N�qzKey-qrCZAltrAzKey-QzPage Upz	Key-Prior�*zKey-asterisk)rZ
translate_keyr2)rZtrrirrr�test_translate_keyszHelperTest.test_translate_keyN)r
rrrOrxrrrrrusru�__main__�)�	verbosity)rOZidlelibrZtest.supportrZunittestrZtkinterrrZidlelib.idle_test.mock_idlerZidlelib.idle_test.mock_tkrrrPZTestCaser	rRrarsrur
�mainrrrr�<module>sW7R