Your IP : 216.73.216.213


Current Path : /opt/alt/python311/lib64/python3.11/idlelib/idle_test/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib64/python3.11/idlelib/idle_test/__pycache__/test_config_key.cpython-311.pyc

�

�0�i�,���dZddlmZddlmZddlZddlmZddlmZm	Z	ddl
mZddlm
Z
Gd	�d
ej��ZGd�dej��ZGd
�dej��ZGd�dej��ZGd�dej��ZGd�dej��ZGd�dej��Zedkrejd���dSdS)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��eZdZdZGd�dej��Zed���Zed���Z	d�Z
d�Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�ZdS)�ValidationTestz.Test validation methods: ok, keys_ok, bind_ok.c�F��eZdZ�fd�Ze��Ze��Z�xZS)�ValidationTest.Validatorc�b��t��j|i|��Gd�d��}||_dS)Nc�"�eZdZe��ZdS)�:ValidationTest.Validator.__init__.<locals>.list_keys_finalN)�__name__�
__module__�__qualname__r�get���H/opt/alt/python311/lib64/python3.11/idlelib/idle_test/test_config_key.py�list_keys_finalrs�������d�f�f���rr��super�__init__r��self�args�kwargsr�	__class__s    �rrz!ValidationTest.Validator.__init__sU����E�G�G��d�-�f�-�-�-�
�
�
�
�
�
�
�
�#2�D� � � r)	rrrrr�
get_modifiersr	�	showerror�
__classcell__�r s@r�	Validatorr
sD�������	3�	3�	3�	3�	3�
����
��I�K�K�	�	�	�	�	rr%c���td��t��|_|j���dgddgg}|�|jd|��|_dS)N�gui�	<Key-F12>�<Control-Key-x>�<Control-Key-X>�<<Test>>)rr�root�withdrawr%�dialog)�cls�keylists  r�
setUpClasszValidationTest.setUpClasss\��������4�4�����������=�#4�6G�"H�I���]�]�3�8�Z��A�A��
�
�
rc�r�|`|j���|j���|`dS�N�r.r,�update_idletasks�destroy�r/s r�
tearDownClasszValidationTest.tearDownClass%�8���J���!�!�#�#�#���������H�H�Hrc�(�d|jj_dS)N�)r.r"�message�rs r�setUpzValidationTest.setUp,s��(*����%�%�%rc��|jj�d��|j���|�|jjd��|�|jjjd��dS)N� r;zNo key specified.)r.�
key_string�set�ok�assertEqual�resultr"r<r=s r�
test_ok_emptyzValidationTest.test_ok_empty1sm�����"�"�3�'�'�'�������������+�R�0�0�0������.�6�8K�L�L�L�L�Lrc�,�|jj�d��d|jjj_|j���|�|jjd��|�|jjj	d��dS)N�	<Key-F11>�F11r;)
r.rArBrrrErCrDr"r<r=s r�test_ok_goodzValidationTest.test_ok_good7s|�����"�"�;�/�/�/�16���#�'�.�������������+�[�9�9�9������.�6��;�;�;�;�;rc��|�|j�d����|�d|jjj��dS)Nz<Control-ShiftzMissing the final)�assertFalser.�keys_ok�assertInr"r<r=s r�test_keys_no_endingz"ValidationTest.test_keys_no_ending>sJ�������,�,�-=�>�>�?�?�?��
�
�)�4�;�+@�+H�I�I�I�I�Irc���d|jjj_|�|j�d����|�d|jjj��dS)N�Az<Key-A>zNo modifier)	r.rrrErLrMrNr"r<r=s r�test_keys_no_modifier_badz(ValidationTest.test_keys_no_modifier_badBsX��14���#�'�.������,�,�Y�7�7�8�8�8��
�
�m�T�[�%:�%B�C�C�C�C�Crc���d|jjj_|�|j�d����|�|jjjd��dS)NrIrHr;)	r.rrrE�
assertTruerMrDr"r<r=s r�test_keys_no_modifier_okz'ValidationTest.test_keys_no_modifier_okGsX��16���#�'�.������+�+�K�8�8�9�9�9������.�6��;�;�;�;�;rc��d|jjj_dg|jj_|�|j�d����|�d|jjj	��g|jj_dS)N�a�Shiftz<a>zshift modifier)
r.rrrEr!rLrMrNr"r<r=s r�test_keys_shift_badz"ValidationTest.test_keys_shift_badLsu��14���#�'�.�,3�9���!�(������,�,�U�3�3�4�4�4��
�
�&���(=�(E�F�F�F�+-���!�(�(�(rc��gddfdgddfdgddffD]�\}}}|�|||���5||jjj_||jj_|�|j�|����|�d	|jj	j
��ddd��n#1swxYwY��g|jj_dS)
N�F12r(�Control�xr)�Xr*)�m�f�szalready in use)�subTestr.rrrEr!rLrMrNr"r<)r�mods�final�seqs    r�
test_keys_dupzValidationTest.test_keys_dupSs5��"$�e�[�!9�#,�+�s�4E�!F�#,�+�s�4E�!F�!H�	O�	O��D�%���������5�5�
O�
O�9>���+�/�6�37���)�0�� � ���!4�!4�S�!9�!9�:�:�:��
�
�.���0E�0M�N�N�N�	
O�
O�
O�
O�
O�
O�
O�
O�
O�
O�
O����
O�
O�
O�
O��
,.���!�(�(�(s�A:B5�5B9	�<B9	c��|�|j�d����|�|jjjd��dS)Nz<Control-Shift-Key-a>r;)rTr.�bind_okrDr"r<r=s r�test_bind_okzValidationTest.test_bind_ok^sI�������+�+�,C�D�D�E�E�E������.�6��;�;�;�;�;rc��|�|j�d����|�d|jjj��dS)Nz<Control-Shift>znot accepted)rLr.rhrNr"r<r=s r�test_bind_not_okzValidationTest.test_bind_not_okbsI�������,�,�->�?�?�@�@�@��
�
�n�d�k�&;�&C�D�D�D�D�DrN)rrr�__doc__r�GetKeysFramer%�classmethodr1r8r>rFrJrOrRrUrYrfrirkrrrrrs$������4�4� � � � � �J�+� � � ��B�B��[�B�����[��+�+�+�
M�M�M�<�<�<�J�J�J�D�D�D�
<�<�<�
.�.�.�	.�	.�	.�<�<�<�E�E�E�E�Errc�D�eZdZdZed���Zed���Zd�ZdS)�ToggleLevelTestz.Test toggle between Basic and Advanced frames.c��td��t��|_|j���t	j|jdg��|_dS�Nr'r+)rrr,r-rrmr.r7s rr1zToggleLevelTest.setUpClassjsH��������4�4�����������,�S�X�z�2�F�F��
�
�
rc�r�|`|j���|j���|`dSr3r4r7s rr8zToggleLevelTest.tearDownClassqr9rc���|j��fd�}|��j��|�d�jd��|��\}}|�||������|��j��|�d�jd��|��\}}|�||���j���|��j��|�d�jd��|��\}}|�||��dS)Nc���t������D]\}}|jdkr|}|jdkr|}� ||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.
            �keyseq_basic�keyseq_advanced)�	enumerate�winfo_children�_name)�index�child�basic�advancedr.s    �r�
stackorderz5ToggleLevelTest.test_toggle_level.<locals>.stackorder{s\���!*�&�*?�*?�*A�*A� B� B�
%�
%���u��;�.�0�0�!�E��;�"3�3�3�$�H���(�?�"r�Advanced�text�Basic)	r.rLr~rN�button_level�
assertGreater�toggle_levelrT�invoke)rrr}r~r.s    @r�test_toggle_levelz!ToggleLevelTest.test_toggle_levelxsY������	#�	#�	#�	#�	#�	
�����)�)�)��
�
�j�&�"5�f�"=�>�>�>�$�*�,�,���x����5�(�+�+�+�	�����������(�(�(��
�
�g�v�2�6�:�;�;�;�$�*�,�,���x����8�U�+�+�+�	��"�"�$�$�$������)�)�)��
�
�j�&�"5�f�"=�>�>�>�$�*�,�,���x����5�(�+�+�+�+�+rN)rrrrlrnr1r8r�rrrrprpgs`������4�4��G�G��[�G�����[��#,�#,�#,�#,�#,rrpc��eZdZdZGd�dej��Zed���Zed���Z	d�Z
d�Zej
�ejd��d	���Zej
�ejd��d
���ZdS)�KeySelectionTestz#Test selecting key on Basic frames.c�8��eZdZ�fd�Zd�Ze��Z�xZS)�KeySelectionTest.Basicc�b��t��j|i|��Gd�d��}||_dS)Nc�J�eZdZe��Ze��Ze��ZdS)�8KeySelectionTest.Basic.__init__.<locals>.list_keys_finalN)rrrrr�select_clear�yviewrrrrr��s/�������d�f�f��#�t�v�v��������rrrrs    �rrzKeySelectionTest.Basic.__init__�sW����E�G�G��d�-�f�-�-�-�
�
�
�
�
�
�
�
�$3�D� � � rc�*�gd�|_ddi|_dS)N)�foo�bar�BAZr��ZZZ)�	modifiers�modifier_labelr=s r�set_modifiers_for_platformz1KeySelectionTest.Basic.set_modifiers_for_platform�s!��2�2�2�D�N�#(�%�.�D���r)rrrrr�r	r"r#r$s@rr�r��sH�������	3�	3�	3�	3�	3�	1�	1�	1��I�K�K�	�	�	�	�	rr�c��td��t��|_|j���|�|jdg��|_dSrr)rrr,r-r�r.r7s rr1zKeySelectionTest.setUpClass�sI��������4�4�����������Y�Y�s�x��R�8�8��
�
�
rc�r�|`|j���|j���|`dSr3r4r7s rr8zKeySelectionTest.tearDownClass�r9rc�8�|j���dSr3)r.�
clear_key_seqr=s rr>zKeySelectionTest.setUp�s����!�!�#�#�#�#�#rc�j�|j}|j}|j}|jd���||��dg��|jd���||��ddg��|jd���||��dg��dS)Nr�r�)r.r!rD�modifier_checkbuttonsr�)rr.�gm�eqs    r�test_get_modifiersz#KeySelectionTest.test_get_modifiers�s������
�
!��
�
��	�$�U�+�2�2�4�4�4�
��2�2�4�4�%������$�U�+�2�2�4�4�4�
��2�2�4�4�%��� � � ��$�U�+�2�2�4�4�4�
��2�2�4�4�%������rr!c��|j}|j}|jj}|j}d|j_g|_|���||��d��dg|_|���||��d��d|j_ddg|_|���||��d��dS)NrWz<Key-a>�mymodz
<mymod-Key-a>r;�testz<mymod-test>)r.rrArrDrE�return_value�build_key_string�r�mock_modifiersr.�key�stringr�s      r�test_build_key_stringz&KeySelectionTest.test_build_key_string�s�������$���"�&��
�
������&(��#����!�!�!�
��6�6�8�8�Y����'.�i��#����!�!�!�
��6�6�8�8�_�%�%�%�����'.��&7��#����!�!�!�
��6�6�8�8�^�$�$�$�$�$rc��|j}|j}|jj}|j}dg|_d|j_|���||��d��dS)NrX�{z<Shift-Key-braceleft>)r.rrArrDr�rE�final_key_selectedr�s      r�test_final_key_selectedz(KeySelectionTest.test_final_key_selected�sh������$���"�&��
�
��'.�i��#������!�!�#�#�#�
��6�6�8�8�,�-�-�-�-�-rN)rrrrlrrmr�rnr1r8r>r�r�patch�objectr�r�rrrr�r��s�������)�)� � � � � �
�'� � � ��9�9��[�9�����[��$�$�$�
�
�
�
�Z���z�.��@�@�%�%�A�@�%�(
�Z���z�.��@�@�	.�	.�A�@�	.�	.�	.rr�c��eZdZdZed���Zed���Zej�	e
jd��d���ZdS)�CancelWindowTestz'Simulate user clicking [Cancel] button.c���td��t��|_|j���t	j|jddgd���|_dS�Nr'�Titler+T)�_utest�rrr,r-r�
GetKeysWindowr.r7s rr1zCancelWindowTest.setUpClass��V��������4�4�����������-��H�g�z�2�d�<�<�<��
�
�
rc��|j���|`|j���|j���|`dSr3�r.�cancelr,r5r6r7s rr8zCancelWindowTest.tearDownClass��L���
�������J���!�!�#�#�#���������H�H�HrrCc��|�|j���d��|jj���|�t��5|j���ddd��n#1swxYwY|�|jjd��|���dS)N�Toplevelr;)	rDr.�winfo_class�
button_cancelr��assertRaisesrrE�assert_not_called�r�
mock_frame_oks  r�test_cancelzCancelWindowTest.test_cancels��������0�0�2�2�J�?�?�?���!�(�(�*�*�*�
�
�
�x�
(�
(�	&�	&��K�#�#�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&������+�R�0�0�0��'�'�)�)�)�)�)��&B�B�BN)
rrrrlrnr1r8rr�r�rrmr�rrrr�r��s������-�-��<�<��[�<�����[��
�Z���z�.��5�5�*�*�6�5�*�*�*rr�c��eZdZdZed���Zed���Zej�	e
jd��d���ZdS)�OKWindowTestz#Simulate user clicking [OK] button.c���td��t��|_|j���t	j|jddgd���|_dSr�r�r7s rr1zOKWindowTest.setUpClassr�rc��|j���|`|j���|j���|`dSr3r�r7s rr8zOKWindowTest.tearDownClassr�rrCc�Z�|�|j���d��|jj���|�t��5|j���ddd��n#1swxYwY|���dS)Nr�)rDr.r��	button_okr�r�r�
assert_calledr�s  r�test_okzOKWindowTest.test_ok s��������0�0�2�2�J�?�?�?����$�$�&�&�&�
�
�
�x�
(�
(�	&�	&��K�#�#�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&��#�#�%�%�%�%�%r�N)
rrrrlrnr1r8rr�r�rrmr�rrrr�r�
s������)�)��<�<��[�<�����[��
�Z���z�.��5�5�&�&�6�5�&�&�&rr�c�D�eZdZdZed���Zed���Zd�ZdS)�WindowResultTestzTest window result get and set.c���td��t��|_|j���t	j|jddgd���|_dSr�r�r7s rr1zWindowResultTest.setUpClass,r�rc��|j���|`|j���|j���|`dSr3r�r7s rr8zWindowResultTest.tearDownClass4r�rc�@�|j}|j}d|_||jd��||jjd��d|_||jd��||jjd��d|j_||jd��||jjd��dS)Nr;r�r�)r.rDrE�frame)rr.r�s   r�test_resultzWindowResultTest.test_result<s������
�
����
�
��6�=�"����
��6�<��r�"�"�"���
�
��6�=�����
��6�<��u�%�%�%�#����
��6�=�%� � � �
��6�<��u�%�%�%�%�%rN)rrrrlrnr1r8r�rrrr�r�)s]������%�%��<�<��[�<�����[��&�&�&�&�&rr�c��eZdZdZd�ZdS)�
HelperTestz#Test module level helper functions.c�p�tj}|j}||dg��d��||dddg��d��||ddg��d��||dddg��d��||dgd���d��||dg��d	��||d
dg��d��dS)N�qzKey-qr\�AltrXzKey-Q)r\r�rXzPage Upz	Key-Prior�*zKey-asterisk)r�
translate_keyrD)r�trr�s   r�test_translate_keyzHelperTest.test_translate_keyPs��
�
%��
�
��	��2�2�c�2�;�;�� � � �
��2�2�c�I�u�%�&�&��0�0�0�	��2�2�c�G�9���w�'�'�'�
��2�2�c�I�w�'�(�(�'�2�2�2�
��2�2�c�.�.�.�/�/��9�9�9�	��2�2�i����k�*�*�*�
��2�2�c�G�9���~�.�.�.�.�.rN)rrrrlr�rrrr�r�Ms)������)�)�/�/�/�/�/rr��__main__�)�	verbosity)rl�idlelibr�test.supportr�unittestr�tkinterrr�idlelib.idle_test.mock_idler�idlelib.idle_test.mock_tkr	�TestCaserrpr�r�r�r�r�r�mainrrr�<module>r�s����������!�!�!�!�!�!����������� � � � � � � � �,�,�,�,�,�,�/�/�/�/�/�/�SE�SE�SE�SE�SE�X�&�SE�SE�SE�l4,�4,�4,�4,�4,�h�'�4,�4,�4,�nO.�O.�O.�O.�O.�x�(�O.�O.�O.�d*�*�*�*�*�x�(�*�*�*�:&�&�&�&�&�8�$�&�&�&�8!&�!&�!&�!&�!&�x�(�!&�!&�!&�H/�/�/�/�/��"�/�/�/�,�z����H�M�A��������r