403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.164
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/idlelib/idle_test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/idlelib/idle_test/__pycache__/test_squeezer.cpython-313.opt-1.pyc
�

��i�N��n�SrSSKJr SSKJrJr SSKrSSKJrJ	r	J
r
JrJr SSK
Jr SSKJr SSKJr SS	KJrJrJr SS
KJr SSKJr SSKJr \R:rS
r"SS\R>5r "SS\R>5r!"SS\R>5r"\#S:Xa\RH"SS9 gg)zTest squeezer, coverage 95%�)�dedent)�Text�TkN)�Mock�NonCallableMagicMock�patch�sentinel�ANY)�requires)�idleConf)�
Percolator)�count_lines_with_wrapping�ExpandingButton�Squeezer)�macosx)�	view_text)�Hovertipc�^�[S5 [5mTR5 U4SjnURU5 T$)z*Helper for tests: Create a root Tk object.�guic�F>�TR5 TR5 g�N)�update_idletasks�destroy��roots��4C:\Python313\\Lib\idlelib\idle_test\test_squeezer.py�cleanup_root�&get_test_tk_root.<locals>.cleanup_roots�����������)rr�withdraw�
addCleanup)�
test_instancerrs  @r�get_test_tk_rootr#s4����U�O�
�4�D��M�M�O�����\�*��Krc�H�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
g)
�CountLinesTest�"z1Tests for the count_lines_with_wrapping function.c�8�URU[X#55$r��assertEqualr)�self�expected�text�	linewidths    r�check�CountLinesTest.check$s ������%�d�6�
�	
rc�:�UR[S5S5 g)zTest with an empty string.�rNr(�r*s r�test_count_empty�CountLinesTest.test_count_empty*s�����2�2�6��:rc�:�UR[S5S5 g)z/Test with a string which begins with a newline.z
text�Nr(r2s r�!test_count_begins_with_empty_line�0CountLinesTest.test_count_begins_with_empty_line.������2�8�<�a�@rc�:�UR[S5S5 g)z-Test with a string which ends with a newline.ztext
�Nr(r2s r�test_count_ends_with_empty_line�.CountLinesTest.test_count_ends_with_empty_line2r9rc�:�UR[S5S5 g)z Test with several lines of text.z1
2
3
�Nr(r2s r�test_count_several_lines�'CountLinesTest.test_count_several_lines6s�����2�;�?��Crc�j�URSSSS9 URSSSS9 URSSSS9 g)	Nr;�
�P�r+r,r-r6�

�
z










�r.r2s r�test_empty_lines�CountLinesTest.test_empty_lines:s8���
�
�A�D�B�
�7��
�
�A�F�b�
�9��
�
�B�Y�"�
�=rc�H�URSSSS9 URSSSS9 g)Nr?��aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarDrEz�aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
rHr2s r�test_long_line�CountLinesTest.test_long_line?s'���
�
�A�I��
�<��
�
�A�$4��
�Crc���[S5nURSUSS9 URSUS-SS9 URSUSS9 URSUS	S9 URS
USS9 g)Nz�            13 characters
            43 is the number of characters on this line

            7 chars
            13 characters�rDrErC��(���rG)rr.)r*r,s  r�$test_several_lines_different_lengths�3CountLinesTest.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�
�8r�N)�__name__�
__module__�__qualname__�__firstlineno__�__doc__r.r3r7r<r@rIrMrV�__static_attributes__rXrrr%r%"s1��;�
�;�A�A�D�>�
D�9rr%c�~�\rSrSrSrSSjrSSjrSSjrSrSr	S	r
S
rSrSr
S
rSrSrSrSrSrSrg)�SqueezerTest�QzTests for the Squeezer class.c��[5nSUlU(aA[U5UlUR	URS9nU=UlURlU$)z$Create a mock EditorWindow instance.rDr)r�widthr#r�make_text_widgetr,�per�bottom)r*�with_text_widget�editwin�text_widgets    r�make_mock_editor_window�$SqueezerTest.make_mock_editor_windowSsO��&�(����
��+�D�1�G�L��/�/�W�\�\�/�B�K�0;�;�G�L�7�;�;�-��rNc�B�UcUR5n[U5nU$)z<Create an actual Squeezer instance with a mock EditorWindow.)rjr)r*�
editor_window�squeezers   r�make_squeezer_instance�#SqueezerTest.make_squeezer_instance_s%��� � �8�8�:�M��M�*���rc�f�Uc[U5n[U5nSUS'URSS5 U$)N)�CourierrG�font�iomark�1.0)r#r�mark_set)r*rris   rrd�SqueezerTest.make_text_widgetfs:���<�#�D�)�D��4�j��-��F�����X�u�-��rc��[R"XU5n[R"XX45 UR[RXX55 gr)r�	GetOption�	SetOptionr!)r*�
configType�section�option�value�prev_vals      r� set_idleconf_option_with_cleanup�-SqueezerTest.set_idleconf_option_with_cleanupns=���%�%�j�6�B�����:��>�����*�*�"�V�	?rc�r�UR5nURU5nSHmup4nURUUUS9 [U5n[R
"USU5 UR
URU5U5 SSS5 SSS5 Mo g!,(df   N=f!,(df   M�=f)z0Test Squeezer.count_lines() with various inputs.))z'\n'rDr;)z'\n' * 3rDr?)z'a' * 40 + '\n'rDr;)z'a' * 80 + '\n'rDr;)z'a' * 200 + '\n'rDr?)�'aa\t' * 20rDr6)z'aa\t' * 21rDr?)r�rR�)�	text_code�
line_widthr+rcN)rjro�subTest�evalr�objectr)�count_lines)r*rhrnr�r�r+r,s       r�test_count_lines�SqueezerTest.test_count_linests����.�.�0���.�.�w�7��	0
�+�I�8����	�)3�'/��1��I����\�\�'�7�J�?��$�$�X�%9�%9�$�%?��J�@�	1�1�	0
�@�?��	1�1�s#�$B'�"B�B'�
B$� B'�'
B6	c��UR5nURU5nURURU5 UR	UR
/5 g)z(Test the creation of Squeezer instances.N)rjro�assertIsrhr)�expandingbuttons)r*rhrns   r�	test_init�SqueezerTest.test_init�sJ���.�.�0���.�.�w�7���
�
�h�&�&��0�����2�2�B�7rc��UR5nSSSS-S4H�n[[S9=UlnUR	U5nURURRUS5[5 URURS5 URUS5 UR[UR5S	5 M� g
)�@Test Squeezer's overriding of the EditorWindow's write() method.r1�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_valuerXr;rN)rjr�SENTINEL_VALUE�writeror)rh�
call_count�assert_called_with�lenr��r*rhr,�
orig_writerns     r�test_write_no_tags�SqueezerTest.test_write_no_tags�s����.�.�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��SSSS-S4H�nUR5n[URlURnUR	U5nURURRUS5[5 URURS5 URUS5 UR[UR5S5 M� g	)
r�r1r�r�r�r��stderrr;rN)rjr�r�r�ror)rhr�r�r�r�)r*r,rhr�rns     r�test_write_not_stdout�"SqueezerTest.test_write_not_stdout�s������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���UR5nSH�n[[S9=UlnUR	U5nSUlUR
URRUS5[5 UR
URS5 URUS5 UR
[UR5S5 M� SS-S	4H�n[[S9=UlnUR	U5nSUlUR
URRUS5S
5 UR
URS5 UR
[UR5S5 M� g
)r�)r1r�r��2�stdoutr;rr�r�r�N)rjrr�r�ro�auto_squeeze_min_linesr)rhr�r�r�r�r�s     r�test_write_stdout�SqueezerTest.test_write_stdout�s>���.�.�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�8�URSS9nURnURU5nSUl[	SS9UlUR
SS5 URURSS	5S
5 UR[UR5S5 g)
zATest that the auto-squeezing creates an ExpandingButton properly.T�rgrPrQr�zTEXT
TEXT
TEXT
TEXT
TEXT
TEXT
r�ru�endrCr;N)rjr,ror�rr�r�r)�getr�r�)r*rhrirns    r�test_auto_squeeze�SqueezerTest.test_auto_squeeze�s����.�.��.�E���l�l���.�.�w�7��*+��'�#��3����
�
�j�(�+���������6��=�����X�6�6�7��;rc�R�SGH�nURSS9nURnURU5n[SS9UlURSSU5 UR
SS5 URURSS	5S
5 UR[UR5S5 UR5nURUS5 URURSS	5S
5 UR[UR5S5 URURSRS5 URSR5 URURSS	5S
5 UR[UR5S5 GM� g)z%Test the squeeze_current_text method.)r�r�Tr�rQr�ru�
SOME
TEXT
�insertr��SOME
TEXT

r�breakrFr;z	SOME
TEXTN)rjr,rorr�r�rvr)r�r�r��squeeze_current_text�s�expand)r*�tag_namerhrirn�retvals      r�test_squeeze_current_text�&SqueezerTest.test_squeeze_current_text�si��-�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�"�URSS9nURnURU5n[SS9UlURSSS5 UR
SS5 URURSS	5S
5 UR[UR5S5 UR5nURUS5 URURSS	5S
5 UR[UR5S5 g
)z@Test that the event doesn't squeeze text without a relevant tag.Tr�rQr�rur��TAGr�r�r�rr�N)rjr,rorr�r�rvr)r�r�r�r��r*rhrirnr�s     r�)test_squeeze_current_text_no_allowed_tags�6SqueezerTest.test_squeeze_current_text_no_allowed_tags�s����.�.��.�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��URSS9nURnURU5n[SS9UlURSSS5 UR
SS5 UR5 UR[UR5S	5 URSS
S5 UR
SS5 UR5nURUS5 URURSS5S
5 UR[UR5S5 URURURSSURS	55 g)z2Test squeezing text before existing squeezed text.Tr�rQr�rur�r�r�r;zMORE
STUFF
r�r�z


r6r�<N)rjr,rorr�r�rvr�r)r�r�r��
assertTrue�comparer�s     r�/test_squeeze_text_before_existing_squeezed_text�<SqueezerTest.test_squeeze_text_before_existing_squeezed_texts6���.�.��.�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��URSS9nURU5nURnUS-nURSSS[	U55 [
R"5 URURU5 g)zTest the reload() class-method.Tr�rG�main�PyShellzauto-squeeze-min-linesN)rjror�r��strr�reloadr))r*rhrn�orig_auto_squeeze_min_lines�new_auto_squeeze_min_liness     r�test_reload�SqueezerTest.test_reloads����.�.��.�E���.�.�w�7��&.�&E�&E�#�&A�2�%E�"��-�-��I�7��*�+�	-�	��������8�8�3�	5rc�.�[R"5 g)z@Test that Squeezer.reload() runs without any instances existing.N)rr�r2s r�!test_reload_no_squeezer_instances�.SqueezerTest.test_reload_no_squeezer_instances+s�����rrX)Fr)rYrZr[r\r]rjrordr�r�r�r�r�r�r�r�r�r�r�r�r^rXrrr`r`QsU��'�
���?�K�,8�
@�@�@�0
<�@�:<�(�45�"rr`c�V�\rSrSrSrSr\"S\S9S5rSr	Sr
S	rS
rSr
Srg
)�ExpandingButtonTesti0z$Tests for the ExpandingButton class.c�,�[U5n[5n[U5URl[URR5URlURURRR5 SUl	U$)z0Helper for tests: Create a mock Squeezer object.r�)
r#rrrhr,r
rer!�closer�)r*rrns   r�make_mock_squeezer�&ExpandingButtonTest.make_mock_squeezer4sq����%���6�� $�T�
�����)�(�*:�*:�*?�*?�@���������(�(�,�,�2�2�3�+-��'��rzidlelib.squeezer.Hovertip��autospecc���UR5nURRn[SSSU5nUR	UR
S5 UR	URU5 URSURS5;5 UR	URSS5S5 URS	UR55 S
[R"5(aSOS-nURXTR55 UR	URS
5 URU[ [ S9 UR"SS
nURSUR%55 g)z1Test the simplest creation of an ExpandingButton.r��TAGSr�z50 linesr,rur�rCz<Double-Button-1>z<Button-%s>�2�3r;)�hover_delayrzright-clickN)r�rhr,rr)r��masterr��cgetr��assertIn�bindr�isAquaTkr�r�r
�	call_args�lower)r*�MockHovertiprnri�expandingbutton�right_button_code�tooltip_texts       rr��ExpandingButtonTest.test_init@s>���*�*�,���&�&�+�+��)�&�&�"�h�G������*�*�F�3�	
����/�/��=����
�o�&:�&:�6�&B�B�C�	
��������6��=�	
�
�
�)�?�+?�+?�+A�B�)�F�O�O�4E�4E�S�3�O���
�
�'�)=�)=�)?�@�	
����0�0�!�4��'�'���#�'�N�$�-�-�a�0��3���
�
�m�\�%7�%7�%9�:rc�z�UR5n[SSSU5nURRnUR	SUS9 UR[
5S9nURUS5 URURSS5S	5 URS
5nURURSU5S5 URURSS5SU45 URURRRS5 URRRU5 g)zTest the expand event.r�r�r�ru��window��eventNr�zTEXT
�end-1cr;)r�rrhr,�
window_creater�rr)r��index�
tag_nextranger��remover�r�)r*rnr�rir��text_end_indexs      r�test_expand�ExpandingButtonTest.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�UR5nSS-n[USSU5nUR5 URUR5 UR
nUR
SUS9 [S5nSURl	SURl	UR[5S	9nS
S
S
5 URWS5 URUR
RSS5S
5 [S5nSURl	SURl	UR[5S	9nS
S
S
5 URUS
5 URUR
RSS5U5 g
!,(df   N�=f!,(df   N^=f)z@Test that expanding very long output asks user for confirmation.�ai��r�r�rur�zidlelib.squeezer.messageboxFr�Nr�r�r1T)r�r�set_is_dangerousr��is_dangerousr,r�r�askokcancelr��askyesnor�rr)r�)r*rnr,r�ri�mock_msgboxr�s       r�test_expand_dangerous_oupput�0ExpandingButtonTest.test_expand_dangerous_oupputxsi���*�*�,���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�6:F�:F�
F�
F!c��UR5n[SSSU5n[5Ul[5UlUR[5S9nUR
US5 UR
URRS5 UR
URRS5 URRS5 g)zTest the copy event.r�r�r�r�Nr;)	r�rr�clipboard_clear�clipboard_append�copyr)r�r�)r*rnr�r�s    r�	test_copy�ExpandingButtonTest.test_copy�s���
�*�*�,��)�&�&�"�h�G��*.�&��'�+/�6��(�!�%�%�D�F�%�3�������&�	
����8�8�C�C�Q�G�����9�9�D�D�a�H��(�(�;�;�F�Crc�X�UR5n[SSSU5n[5Ul[	S[
S9nUR
[5S9 URURS5 URURSS	S5 S
S
S
5 g
!,(df   g
=f)zTest the view event.r�r�r�zidlelib.squeezer.view_textr�r�r;rr6N)
r�rr�
selection_ownrr�viewr)r�r�)r*rnr��mock_view_texts    r�	test_view�ExpandingButtonTest.test_view�s����*�*�,��)�&�&�"�h�G��(,���%�
�/�)�
D�!�� � �t�v� �.�
���^�6�6��:�
���^�5�5�a�8��;�V�D�E�
D�
D�s�AB�
B)c���UR5n[SSSU5n[S5n[5nXCl[5nSUlSUlURUS9 URURR[UR55 URH"tpgURRU[S9 M$ SSS5 g!,(df   g=f)	zTest the context menu.r�r�r�ztkinter.MenurGr�)�label�commandN)r�rrrr��x�y�context_menu_eventr)�add_commandr�r��rmenu_specs�assert_any_callr
)r*rnr��	mock_Menu�	mock_menu�
mock_eventr�datas        r�
test_rmenu�ExpandingButtonTest.test_rmenu�s����*�*�,��)�&�&�"�h�G��
�>�
"�i���I�%.�"���J��J�L��J�L��.�.�Z�.�@����Y�2�2�=�=� ��!<�!<�=�
?� /� ;� ;����%�%�5�5�E�3�5�O�!<�#�
"�
"�s�B#C�
C$rXN)rYrZr[r\r]r�rrr�r�rr	rrr^rXrrr�r�0sE��.�
��&��:�;�;�;�8M�6!J�FD�(E�"Prr��__main__r6)�	verbosity)%r]�textwrapr�tkinterrr�unittest�
unittest.mockrrrr	r
�test.supportr�idlelib.configr�idlelib.percolatorr
�idlelib.squeezerrrr�idlelibr�idlelib.textviewr�idlelib.tooltiprr�r#�TestCaser%r`r�rYr�rXrr�<module>r.s�������J�J�!�#�)�
�
��&�$��(�(���,9�X�&�&�,9�^\�8�$�$�\�~^P�(�+�+�^P�B�z���M�M�A��r

Youez - 2016 - github.com/yon3zu
LinuXploit