HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/idlelib/idle_test/__pycache__/test_textview.cpython-310.pyc
o

�i��@sdZddlmZddlmZed�ddlZddlZddlm	Z	m
Z
mZmZm
Z
ddlmZddlmZdd	lmZd
d�Zdd
�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�Zedkr�ej dd�dSdS)aTest textview, coverage 100%.

Since all methods and functions create (or destroy) a ViewWindow, which
is a widget containing a widget, etcetera, all tests must be gui tests.
Using mock Text would not change this.  Other mocks are used to retrieve
information about calls.
�)�textview)�requiresZguiN)�Tk�TclError�CHAR�NONE�WORD)�Button)�Func)�	Mbox_funccCst�at��dS�N�r�root�withdraw�rr�</usr/local/lib/python3.10/idlelib/idle_test/test_textview.py�setUpModulesrcCst��t��bdSr�r�update_idletasks�destroyrrrr�tearDownModulesrc@seZdZe�Ze�Ze�ZdS)�VWN)�__name__�
__module__�__qualname__r
�	transient�grab_set�wait_windowrrrrr#s
rc@�,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�ViewWindowTestcCs"tj��tj��tj��dSr)rr�__init__rr��selfrrr�setUp,s

zViewWindowTest.setUpcCsBttdd�}|�tjj�|�tjj�|�tjj�|��dS)N�Title�	test text)rr�
assertTruer�calledrr�ok�r"�viewrrr�test_init_modal1s
zViewWindowTest.test_init_modalcCsFttdddd�}|�tjj�|�tjj�|�tjj�|��dS�Nr$r%F��modal)rrZassertFalserr'rrr(r)rrr�test_init_nonmodal8s
z!ViewWindowTest.test_init_nonmodalcCs>ttdddd�}t�|_|��|�|jj�|`|��dSr,)rrr
rr(r&r'r)rrr�test_ok?szViewWindowTest.test_okN)rrrr#r+r/r0rrrrr*s
rc@seZdZdd�ZdS)�AutoHideScrollbarTestcCs*t�t�}|�t|j�|�t|j�dSr)�tvZAutoHideScrollbarrZassertRaisesr�packZplace)r"Zscrollrrr�test_forbidden_geometryJs
z-AutoHideScrollbarTest.test_forbidden_geometryN)rrrr4rrrrr1Hsr1c@s@eZdZedd��Zedd��Zefdd�Zdd�Zd	d
�Z	dS)�ScrollableTextFrameTestcCst�|_}|��dSrr
��clsrrrr�
setUpClassRsz"ScrollableTextFrameTest.setUpClasscCs|j��|j��|`dSrr�r7rrr�
tearDownClassWs

z%ScrollableTextFrameTest.tearDownClasscs2tj|jfd|i|����fdd�}|�|��S)N�wrapcs������dSr)rrr��framerr�
cleanup_frame_sz9ScrollableTextFrameTest.make_frame.<locals>.cleanup_frame)r2ZScrollableTextFramer�
addCleanup)r"r;�kwargsr>rr<r�
make_frame]s
z"ScrollableTextFrameTest.make_framecCs0|��}|j�dd�|�|j�dd�d�dS)N�1.0r%�1.end)rA�text�insert�assertEqual�get)r"r=rrr�
test_line1esz"ScrollableTextFrameTest.test_line1c	Cs�|jtd�}|�|j�d�t�|�|j�ttfD].}|j	|d��|j|d�}|�|j�d�|�|�
|j�Wd�n1sCwYqdS)N)r;r;)rArrFrD�cgetZassertIsNotNoneZxscrollrrZsubTest�assertIsNone)r"r=r;rrr�test_horiz_scrollbarjs���z,ScrollableTextFrameTest.test_horiz_scrollbarN)
rrr�classmethodr8r:rrArHrKrrrrr5Ps

r5c@s,eZdZedd��Zedd��Zdd�ZdS)�
ViewFrameTestcCs&t�|_}|��t�|d�|_dS)Nr%)rrrr2�	ViewFramer=r6rrrr8~szViewFrameTest.setUpClasscCs |`|j��|j��|`dSr)r=rrrr9rrrr:�s

zViewFrameTest.tearDownClasscCs |jjj}|�|dd�d�dS)NrBrCr%)r=rDrGrF)r"rGrrrrH�s
zViewFrameTest.test_line1N)rrrrLr8r:rHrrrrrM|s

rMc@sLeZdZedd��Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dS)�ViewFunctionTestcCstj|_t�t_dSr)r2�	showerror�
orig_errorrr9rrrr8�szViewFunctionTest.setUpClasscCs|jt_|`dSr)rQr2rPr9rrrr:�szViewFunctionTest.tearDownClasscCs>tjtdddd�}|�|tj�|�|jtj�|j��dSr,)r2�	view_textr�assertIsInstance�
ViewWindow�	viewframerNr(r)rrr�test_view_text�szViewFunctionTest.test_view_textcCs\tjtdtddd�}|�|tj�|�|jtj�|jjj	j
}|�d|dd��|��dS)Nr$�asciiFr-ZTestrBrC)
r2�	view_filer�__file__rSrTrUrN�	textframerDrGZassertInr()r"r*rGrrr�test_view_file�szViewFunctionTest.test_view_filecCs2tjtddddd�}|�|�|�tjjd�dS)Nr$zabc.xyzrWFr-zFile Load Error)r2rXrrJrFrP�titler)rrr�
test_bad_file�s
zViewFunctionTest.test_bad_filecCsRtj}|�|�|�t�dd��}tjtd|ddd�}|�	|�|�
tjjd�dS)Nz..zCREDITS.txtr$rWFr-zUnicode Decode Error)
�os�path�abspath�join�dirnamerYr2rXrrJrFrPr\)r"�p�fnr*rrr�test_bad_encoding�s

z"ViewFunctionTest.test_bad_encodingcCs4tjtddddd�}|jjj}|�|�d�d�dS)Nr$�testFZnone)r.r;r;)r2rRrrUrZrDrFrI)r"r*Ztext_widgetrrr�test_nowrap�s
zViewFunctionTest.test_nowrapN)rrrrLr8r:rVr[r]rergrrrrrO�s

rOc@r)
�ButtonClickTestcCsd|_d|_dS)NF)r*r'r!rrrr#�s
zButtonClickTest.setUpcCs|jr
|j��dSdSr)r*rr!rrr�tearDown�s�zButtonClickTest.tearDowncsn�fdd�}ttd|d�}|����|j����jd����j��d����jj	j
j�dd�d	�dS)
Ncsd�_tjtdddd��_dS)NT�
TITLE_TEXT�COMMAND)�_utest)r'r2rRrr*rr!rr�_command�szAButtonClickTest.test_view_text_bind_with_button.<locals>._command�BUTTON�rDZcommandTrjrBrCrk)
r	r�invoker?rrFr'r*r\rUrZrDrG)r"rm�buttonrr!r�test_view_text_bind_with_button�s�z/ButtonClickTest.test_view_text_bind_with_buttoncs��fdd�}ttd|d�}|����|j����jd����j��d��jj	j
jj}t
t��'}��|dd�|�����|����|d	d
�|�����Wd�dS1s\wYdS)Ncs d�_tjtdtddd��_dS)NT�
TITLE_FILErW)�encodingrl)r'r2rXrrYr*rr!rrrm�s
�zAButtonClickTest.test_view_file_bind_with_button.<locals>._commandrnroTrsrBrCz3.0z3.end)r	rrpr?rrFr'r*r\rUrZrDrG�openrY�readline�strip)r"rmrqrG�frr!r�test_view_file_bind_with_button�s
"�z/ButtonClickTest.test_view_file_bind_with_buttonN)rrrr#rirrryrrrrrh�s

rh�__main__�)�	verbosity)!�__doc__Zidlelibrr2Ztest.supportrr^Zunittest�tkinterrrrrrZtkinter.ttkr	Zidlelib.idle_test.mock_idler
Zidlelib.idle_test.mock_tkrrrrTrZTestCaserr1r5rMrOrhr�mainrrrr�<module>s,,.)�