Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/idlelib/idle_test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/idlelib/idle_test/__pycache__/test_squeezer.cpython-312.opt-2.pyc

�

&Μg�L��p�	ddlmZddlmZmZddlZddlmZmZm	Z	m
Z
mZddlm
Z
ddlmZddlmZddlmZmZmZdd	lmZdd
lmZddlmZe
j8Zd�ZGd
�dej<�ZGd�dej<�Z Gd�dej<�Z!e"dk(rejFd��yy)�)�dedent)�Text�TkN)�Mock�NonCallableMagicMock�patch�sentinel�ANY)�requires)�idleConf)�
Percolator)�count_lines_with_wrapping�ExpandingButton�Squeezer)�macosx)�	view_text)�Hovertipc���	td�t���j��fd�}|j|��S)N�guic�F���j��j�y�N)�update_idletasks�destroy��roots��</usr/local/lib/python3.12/idlelib/idle_test/test_squeezer.py�cleanup_rootz&get_test_tk_root.<locals>.cleanup_roots�����������)rr�withdraw�
addCleanup)�
test_instancerrs  @r�get_test_tk_rootr"s7���4��U�O�
�4�D��M�M�O�����\�*��Krc�>�eZdZ	d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�CountLinesTestc�:�|j|t||��Sr��assertEqualr)�self�expected�text�	linewidths    r�checkzCountLinesTest.check$s"������%�d�I�6�
�	
rc�<�	|jtd�d�y)N�rr&�r(s r�test_count_emptyzCountLinesTest.test_count_empty*s��(����2�2�6��:rc�<�	|jtd�d�y)Nz
text�r&r/s r�!test_count_begins_with_empty_linez0CountLinesTest.test_count_begins_with_empty_line.s��=����2�8�<�a�@rc�<�	|jtd�d�y)Nztext
�r&r/s r�test_count_ends_with_empty_linez.CountLinesTest.test_count_ends_with_empty_line2s��;����2�8�<�a�@rc�<�	|jtd�d�y)Nz1
2
3
�r&r/s r�test_count_several_linesz'CountLinesTest.test_count_several_lines6s��.����2�;�?��Crc�|�|jddd��|jddd��|jddd��y)	Nr5�
�P�r)r*r+r2�

�
z










�r,r/s r�test_empty_lineszCountLinesTest.test_empty_lines:s8���
�
�A�D�B�
�7��
�
�A�F�b�
�9��
�
�B�Y�"�
�=rc�T�|jddd��|jddd��y)Nr8��aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar<r=z�aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
r@r/s r�test_long_linezCountLinesTest.test_long_line?s'���
�
�A�I��
�<��
�
�A�$4��
�Crc���td�}|jd|d��|jd|dzd��|jd|d��|jd|d	��|jd
|d��y)Nz�            13 characters
            43 is the number of characters on this line

            7 chars
            13 characters�r<r=r;��(���r?)rr,)r(r*s  r�$test_several_lines_different_lengthsz3CountLinesTest.test_several_lines_different_lengthsCsq������	
�
�
�A�D�B�
�7��
�
�A�D�4�K�2�
�>��
�
�A�D�B�
�7��
�
�A�D�B�
�7��
�
�B�T�R�
�8rN)�__name__�
__module__�__qualname__r,r0r3r6r9rArDrL�rrr$r$"s1��;�
�;�A�A�D�>�
D�9rr$c�n�eZdZ	dd�Zdd�Zdd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zd�Zd�Zd�Zy)�SqueezerTestc��	t�}d|_|rDt|�|_|j	|j��}|x|_|j_|S)Nr<r)r�widthr"r�make_text_widgetr*�per�bottom)r(�with_text_widget�editwin�text_widgets    r�make_mock_editor_windowz$SqueezerTest.make_mock_editor_windowSsR��2�&�(����
��+�D�1�G�L��/�/�W�\�\�/�B�K�0;�;�G�L�7�;�;�-��rNc�B�	|�|j�}t|�}|Sr)r[r)r(�
editor_window�squeezers   r�make_squeezer_instancez#SqueezerTest.make_squeezer_instance_s(��J�� � �8�8�:�M��M�*���rc�d�|�t|�}t|�}d|d<|jdd�|S)N)�Courierr?�font�iomark�1.0)r"r�mark_set)r(rrZs   rrUzSqueezerTest.make_text_widgetfs:���<�#�D�)�D��4�j��-��F�����X�u�-��rc��tj|||�}tj||||�|jtj||||�yr)r�	GetOption�	SetOptionr )r(�
configType�section�option�value�prev_vals      r� set_idleconf_option_with_cleanupz-SqueezerTest.set_idleconf_option_with_cleanupnsG���%�%�j�'�6�B�����:�w���>�����*�*�"�G�V�X�	?rc�`�	|j�}|j|�}dD]o\}}}|j|||��5t|�}t	j
|d|�5|j
|j|�|�ddd�ddd��qy#1swY�xYw#1swY��xYw)N))z'\n'r<r5)z'\n' * 3r<r8)z'a' * 40 + '\n'r<r5)z'a' * 80 + '\n'r<r5)z'a' * 200 + '\n'r<r8)�'aa\t' * 20r<r2)z'aa\t' * 21r<r8)rprH�)�	text_code�
line_widthr)rT)r[r_�subTest�evalr�objectr'�count_lines)r(rYr^rrrsr)r*s       r�test_count_lineszSqueezerTest.test_count_linests���>��.�.�0���.�.�w�7��	0
�+�I�z�8����	�)3�'/��1��I����\�\�'�7�J�?��$�$�X�%9�%9�$�%?��J�@�	1�1�	0
�@�?��	1�1�s$�#B$�#"B�B$�B!�B$�$B-	c��	|j�}|j|�}|j|j|�|j	|j
g�yr)r[r_�assertIsrYr'�expandingbuttons)r(rYr^s   r�	test_initzSqueezerTest.test_init�sM��6��.�.�0���.�.�w�7���
�
�h�&�&��0�����2�2�B�7rc��	|j�}ddddzdfD]�}tt��x|_}|j	|�}|j|jj|d�t�|j|jd�|j|d�|jt|j�d	���y)
Nr.�TEXT�	LONG TEXT���LMANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
MANY_LINES
��return_valuerPr5r)r[r�SENTINEL_VALUE�writer_r'rY�
call_count�assert_called_with�lenr{�r(rYr*�
orig_writer^s     r�test_write_no_tagszSqueezerTest.test_write_no_tags�s���N��.�.�0�����t�!3�5I�J�D�)-�>�)J�J�G�M�J��2�2�7�;�H����X�-�-�3�3�D�"�=�~�N����Z�2�2�A�6��)�)�$��3����S��!:�!:�;�Q�?�Krc��	ddddzdfD]�}|j�}t|j_|j}|j	|�}|j|jj|d�t�|j|jd�|j|d�|jt|j�d���y)	Nr.r~rr�r��stderrr5r)r[r�r�r�r_r'rYr�r�r�r{)r(r*rYr�r^s     r�test_write_not_stdoutz"SqueezerTest.test_write_not_stdout�s���N����t�!3�5I�J�D��2�2�4�G�)7�G�M�M�&� ���J��2�2�7�;�H����X�-�-�3�3�D�(�C�,�
.����Z�2�2�A�6��)�)�$��9����S��!:�!:�;�Q�?�Krc���	|j�}dD]�}tt��x|_}|j	|�}d|_|j
|jj|d�t�|j
|jd�|j|d�|j
t|j�d���ddzd	fD]�}tt��x|_}|j	|�}d|_|j
|jj|d�d�|j
|jd�|j
t|j�d���y)
N)r.r~r��2�stdoutr5rrr�r�)r[rr�r�r_�auto_squeeze_min_linesr'rYr�r�r�r{r�s     r�test_write_stdoutzSqueezerTest.test_write_stdout�sA��N��.�.�0�� �D�)-�>�)J�J�G�M�J��2�2�7�;�H�.0�H�+����X�-�-�3�3�D�(�C�+�
-����Z�2�2�A�6��)�)�$��9����S��!:�!:�;�Q�?�!�!�4�'�)=�>�D�)-�>�)J�J�G�M�J��2�2�7�;�H�.0�H�+����X�-�-�3�3�D�(�C�T�J����Z�2�2�A�6����S��!:�!:�;�Q�?�?rc�F�	|jd��}|j}|j|�}d|_t	d��|_|j
dd�|j|jdd	�d
�|jt|j�d�y)NT�rXrFrGr�zTEXT
TEXT
TEXT
TEXT
TEXT
TEXT
r�rd�endr;r5)r[r*r_r�rrwr�r'�getr�r{)r(rYrZr^s    r�test_auto_squeezezSqueezerTest.test_auto_squeeze�s���O��.�.��.�E���l�l���.�.�w�7��*+��'�#��3����
�
�j�(�+���������6��=�����X�6�6�7��;rc�\�	dD�]�}|jd��}|j}|j|�}td��|_|jdd|�|j
dd�|j|jdd	�d
�|jt|j�d�|j�}|j|d�|j|jdd	�d
�|jt|j�d�|j|jdjd�|jdj�|j|jdd	�d
�|jt|j�d����y)N)r�r�Tr�rGr�rd�
SOME
TEXT
�insertr��SOME
TEXT

r�breakr>r5z	SOME
TEXT)r[r*r_rrwr�rer'r�r�r{�squeeze_current_text�s�expand)r(�tag_namerYrZr^�retvals      r�test_squeeze_current_textz&SqueezerTest.test_squeeze_current_text�sj��3�,�H��2�2�D�2�I�G�!�,�,�K��2�2�7�;�H�#'�Q�#7�H� �
���u�n�h�?�� � ��5�1����[�_�_�U�E�:�<L�M����S��!:�!:�;�Q�?��2�2�4�F����V�W�-����[�_�_�U�E�:�F�C����S��!:�!:�;�Q�?����X�6�6�q�9�;�;�\�J�
�%�%�a�(�/�/�1����[�_�_�U�E�:�<L�M����S��!:�!:�;�Q�?�1-rc�0�	|jd��}|j}|j|�}td��|_|jddd�|j
dd�|j|jdd	�d
�|jt|j�d�|j�}|j|d�|j|jdd	�d
�|jt|j�d�y)
NTr�rGr�rdr��TAGr�r�r�rr�)r[r*r_rrwr�rer'r�r�r{r��r(rYrZr^r�s     r�)test_squeeze_current_text_no_allowed_tagsz6SqueezerTest.test_squeeze_current_text_no_allowed_tags�s���N��.�.��.�E���l�l���.�.�w�7��#��3���	���5�.�%�8����X�u�-���������6�8H�I�����X�6�6�7��;��.�.�0�������)���������6�8H�I�����X�6�6�7��;rc���	|jd��}|j}|j|�}td��|_|jddd�|j
dd�|j�|jt|j�d	�|jdd
d�|j
dd�|j�}|j|d�|j|jdd�d
�|jt|j�d�|j|j|jdd|jd	��y)NTr�rGr�rdr�r�r�r5zMORE
STUFF
r�r�z


r2r�<)r[r*r_rrwr�rer�r'r�r{r��
assertTrue�comparer�s     r�/test_squeeze_text_before_existing_squeezed_textz<SqueezerTest.test_squeeze_text_before_existing_squeezed_texts9��@��.�.��.�E���l�l���.�.�w�7��#��3���	���5�.�(�;����X�u�-��%�%�'�����X�6�6�7��;�	���5�/�8�<����X�u�-��.�.�0�������)���������6��A�����X�6�6�7��;�����+�+��%�%�a�(���%�%�a�(�
�	rc��	|jd��}|j|�}|j}|dz}|jdddt	|��tj�|j|j|�y)NTr�r?�main�PyShellzauto-squeeze-min-lines)r[r_r�rn�strr�reloadr')r(rYr^�orig_auto_squeeze_min_lines�new_auto_squeeze_min_liness     r�test_reloadzSqueezerTest.test_reloads���-��.�.��.�E���.�.�w�7��&.�&E�&E�#�&A�2�%E�"��-�-��I�7��*�+�	-�	��������8�8�3�	5rc�.�	tj�yr)rr�r/s r�!test_reload_no_squeezer_instancesz.SqueezerTest.test_reload_no_squeezer_instances+s��N����r)Fr)rMrNrOr[r_rUrnrxr|r�r�r�r�r�r�r�r�r�rPrrrRrRQsU��'�
���?�K�,8�
@�@�@�0
<�@�:<�(�45�"rrRc�R�eZdZ	d�Zede��d��Zd�Zd�Zd�Z	d�Z
d	�Zy
)�ExpandingButtonTestc�.�	t|�}t�}t|�|j_t|jj�|j_|j|jjj�d|_	|S)Nr�)
r"rrrYr*r
rVr �closer�)r(rr^s   r�make_mock_squeezerz&ExpandingButtonTest.make_mock_squeezer4st��>���%���6�� $�T�
�����)�(�*:�*:�*?�*?�@���������(�(�,�,�2�2�3�+-��'��rzidlelib.squeezer.Hovertip��autospecc���	|j�}|jj}tddd|�}|j	|j
d�|j	|j|�|jd|jd�v�|j	|jdd�d�|jd	|j��d
tj�rdndz}|j||j��|j	|jd
�|j|t t ��|j"dd
}|jd|j%��y)Nr~�TAGSr�z50 linesr*rdr�r;z<Double-Button-1>z<Button-%s>�2�3r5)�hover_delayrzright-click)r�rYr*rr'r��masterr��cgetr��assertIn�bindr�isAquaTkr�r�r
�	call_args�lower)r(�MockHovertipr^rZ�expandingbutton�right_button_code�tooltip_texts       rr|zExpandingButtonTest.test_init@s>��?��*�*�,���&�&�+�+��)�&�&�"�h�G������*�*�F�3�	
����/�/��=����
�o�&:�&:�6�&B�B�C�	
��������6��=�	
�
�
�)�?�+?�+?�+A�B�)�F�O�O�4E�S�3�O���
�
�'��)=�)=�)?�@�	
����0�0�!�4��'�'���#�'�N�$�-�-�a�0��3���
�
�m�\�%7�%7�%9�:rc��	|j�}tddd|�}|jj}|j	d|��|jt
���}|j|d�|j|jdd�d�|jd	�}|j|jd|�d�|j|jdd�d|f�|j|jjjd
�|jjj|�y)Nr~r�r�rd��window��eventr�zTEXT
�end-1cr5)r�rrYr*�
window_creater�rr'r��index�
tag_nextranger{�remover�r�)r(r^r�rZr��text_end_indexs      r�test_expandzExpandingButtonTest.test_expand]s��$��*�*�,��)�&�&�"�h�G���&�&�+�+���!�!�%��!�@�!�'�'�d�f�'�5�������&�	
��������6��A�%�*�*�8�4����������?��H�����2�2�6�5�A� �.�1�	3�	
����2�2�9�9�D�D�a�H��!�!�(�(�;�;�O�Lrc�H�	|j�}ddz}t|dd|�}|j�|j|j�|j
}|j
d|��td�5}d|j_	d|j_	|jt��	�}ddd�|jd
�|j|j
jdd�d�td�5}d
|j_	d
|j_	|jt��	�}ddd�|j|d�|j|j
jdd�|�y#1swY��xYw#1swY�TxYw)N�ai��r�r�rdr�zidlelib.squeezer.messageboxFr�r�r�r.T)r�r�set_is_dangerousr��is_dangerousr*r�r�askokcancelr��askyesnor�rr'r�)r(r^r*r�rZ�mock_msgboxr�s       r�test_expand_dangerous_oupputz0ExpandingButtonTest.test_expand_dangerous_oupputxsl��N��*�*�,���U�{��)�$���H�E���(�(�*�����4�4�5�&�*�*���!�!�%��!�@��0�
1�[�38�K�#�#�0�05�K� � �-�$�+�+�$�&�+�9�F�	2�	
�����)�����-�-�1�1�%��B�B�G��0�
1�[�37�K�#�#�0�04�K� � �-�$�+�+�$�&�+�9�F�	2�	
�����&�����-�-�1�1�%��B�D�I�'2�
1��2�
1�s�:=F�=F�F�F!c��	|j�}tddd|�}t�|_t�|_|jt���}|j
|d�|j
|jjd�|j
|jjd�|jjd�y)Nr~r�r�r�r5)	r�rr�clipboard_clear�clipboard_append�copyr'r�r�)r(r^r�r�s    r�	test_copyzExpandingButtonTest.test_copy�s���"��*�*�,��)�&�&�"�h�G��*.�&��'�+/�6��(�!�%�%�D�F�%�3�������&�	
����8�8�C�C�Q�G�����9�9�D�D�a�H��(�(�;�;�F�Crc�\�	|j�}tddd|�}t�|_t	dt
��5}|j
t���|j|jd�|j|jdd	d�ddd�y#1swYyxYw)
Nr~r�r�zidlelib.squeezer.view_textr�r�r5rr2)
r�rr�
selection_ownrr�viewr'r�r�)r(r^r��mock_view_texts    r�	test_viewzExpandingButtonTest.test_view�s���"��*�*�,��)�&�&�"�h�G��(,���%�
�/�)�
D�!�� � �t�v� �.�
���^�6�6��:�
���^�5�5�a�8��;�V�D�E�
D�
D�s
�AB"�"B+c���	|j�}tddd|�}td�5}t�}||_t�}d|_d|_|j|��|j|jjt|j��|jD]%^}}|jj|t���'	ddd�y#1swYyxYw)Nr~r�r�ztkinter.Menur?r�)�label�command)r�rrrr��x�y�context_menu_eventr'�add_commandr�r��rmenu_specs�assert_any_callr
)r(r^r��	mock_Menu�	mock_menu�
mock_eventr��datas        r�
test_rmenuzExpandingButtonTest.test_rmenu�s���$��*�*�,��)�&�&�"�h�G��
�>�
"�i���I�%.�I�"���J��J�L��J�L��.�.�Z�.�@����Y�2�2�=�=� ��!<�!<�=�
?� /� ;� ;�����%�%�5�5�E�3�5�O�!<�#�
"�
"�s�B)C�C'N)rMrNrOr�rrr|r�r�r�r�r�rPrrr�r�0sE��.�
��&��:�;�;�;�8M�6!J�FD�(E�"Prr��__main__r2)�	verbosity)$�textwrapr�tkinterrr�unittest�
unittest.mockrrrr	r
�test.supportr�idlelib.configr�idlelib.percolatorr
�idlelib.squeezerrrr�idlelibr�idlelib.textviewr�idlelib.tooltiprr�r"�TestCaser$rRr�rMr�rPrr�<module>rs�������J�J�!�#�)�
�
��&�$��(�(���,9�X�&�&�,9�^\�8�$�$�\�~^P�(�+�+�^P�B�z���H�M�M�A��r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists