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.7/test/__pycache__/test_curses.cpython-37.pyc
B

��gfK�@sddlZddlZddlZddlZddlZddlmZmZmZm	Z	ddl
Z
ed�ed�Zed�ed�yddlZWne
k
r�YnXdd�Zej�d�Ze�ep�ed	kd
e�e�ejdkd�Gd
d�dej���ZGdd�dej�ZGdd�dej�Zedk�re��dS)�N)�requires�
import_module�verbose�SaveSignals�curseszcurses.asciizcurses.textpadcCst�tt|�d|�S)Nzrequires curses.%s)�unittestZ
skipUnless�hasattrr)�name�r
�,/usr/local/lib/python3.7/test/test_curses.py�requires_curses_func#srZTERM�unknownz*$TERM=%r, calling initscr() may cause exit�cygwinz!cygwin's curses mostly just hangsc@s@eZdZedd��Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zed�dd��Z
ed�dd��Zed�dd��Zed�dd��Zed�dd��Zed�dd ��Zed�d!d"��Zed#�d$d%��Zed&�d'd(��Zed)�d*d+��Zd,d-�Zed.�e�ej�d/�d0�d1d2���Zd3d4�Zd5d6�Zd7d8�Z d9d:�Z!d;S)<�
TestCursescCsJtj��s*t�d��t��|_|j��}nd|_tj��}t	j
|d�dS)Nzsys.__stdout__ is not a tty)�fd)�sys�
__stdout__�isattyr�SkipTest�tempfile�
TemporaryFile�tmp�filenorZ	setupterm)�clsrr
r
r�
setUpClass0s



zTestCurses.setUpClasscCs|jr|j��|`dS)N)r�close)rr
r
r�
tearDownClass>s
zTestCurses.tearDownClasscCs2t�|_|j��trt�t��|_t��dS)N)	r�save_signalsZsaver�printrZinitscr�stdscrZsavetty)�selfr
r
r�setUpDs

zTestCurses.setUpcCst��t��|j��dS)N)rZresettyZendwinrZrestore)r r
r
r�tearDownMszTestCurses.tearDowncCs�|j}t�dd�}t�dddd�}t�dddd�}x^|j|jgD]N}xHddtjfddddtjfgD](}|j|j|d��||�WdQRXqbWq@Wx�|j|j	|j
|j|j|j
|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j |j!gD]&}|j|jd	��|�WdQRX�qW|�"d
d�|�"d
dtj�|�"ddd
d�|�"ddd
dtj�|�#tj�|�$tj�|�%tj�|�&d
�|�&d
tj'�|�(d
�|�(d
tj'�|�)dddddddd�|�)dddddddd�|j*t+dd��|�)dddddgdd�WdQRX|�,dd�|�,dd�|�,d d!�|�*t+|j,ddd�|�*t+|j,d�|�,�|�-d"�|�.d#d#�}|�.d"d"dd�}|�/d$d$�|�0d�|�0dtj�|�1dd�|�1ddtj�|�1d"d"dd�|�1d"d"ddtj�|�2d"�|�3d"�t4|d%��r.|�5d"�|�5d&�|�6d'�|�7d"�|�8d(d�|�8d(dtj�|�8ddd(d�|�8ddd(dtj�|�9d)�|�9d)tj�|�9ddd)�|�9ddd)tj�|�:d&�|�;d"�|�<d"�|�=dd�|�>d#d#�|�?d"�|�@d"�|�A|�|�B|�|�A|d"d#d#d"dd�|�B|d"d#d#d"dd�|�Cd"d#�|�Dd"�|�E�|�Ed#�|�Ed*�|�=d+d#�|�Fdd�|�Gdd�}|�Gdddd�}t4|d,��r�tHjI�Jd-��s�|�Kd"�|�Ld�|�Mdd�|�Mddd&�|�Ndd�|�NddtjO�t4|d.��rV|�Pdd#dtjQ�|�Pdtj�|�Pdd/tjR�|�PtjQ�|��|�Nd"d"dd�|�Nd"d"ddtjO�t4|d0��r�|�Sd1d2�t4|d3��r�|�Tdd�|�*tU|jVd4�|�*tU|jVd#dd4�|�*tU|jd5�|�*tU|jd#dd5�dS)6zTest the methods of windows�
��)�ar&)�r'r&)�meth�argsN)r(Z1234�r'� �A�B�C�D�E�F�G�H�|�!�-�_�+�\�#�/z(Expected win.border() to raise TypeError)�msg�:�~���	�immedokr�c�abc�def�����syncokZsunos�chgat��resize��P�encloseip������)Wrr�newwin�addch�addstrZA_BOLD�subTest�__qualname__�clearZclrtobotZclrtoeolZ	cursyncupZdelchZdeletelnZeraseZgetbegyxZgetbkgd�getkey�getmaxyxZgetparyxZgetyxZinchZinsertlnZinstrZ
is_wintouchedZnoutrefreshZ	redrawwinZrefreshZstandoutZstandendZsyncdownZsyncupZtouchwinZ
untouchwin�addnstrZattronZattroffZattrsetZbkgdZ	A_REVERSEZbkgdsetZborder�assertRaises�	TypeError�boxZclearokZderwinZmvderwinZechocharZhlineZidcokZidlokrrBZinschZinsdelln�insnstr�insstrZis_linetouchedZkeypadZleaveokZmoveZmvwinZnodelayZ	notimeoutZoverlayZ	overwriteZredrawlnZscrollokZscrollZ	setscrregZsubwinr�platform�
startswithrHZtimeoutZ	touchlineZvlineZ
A_STANDOUTrIZA_BLINKZA_UNDERLINErKrN�
ValueErrorZgetstr)r r�winZwin2r(r)Zwin4Zwin3r
r
r�test_window_funcsRs�
























zTestCurses.test_window_funcsc
Cst|j}xhdD]`}|j|d��J|�t|jd�|�t|jdd�|�t|jd�|�t|jdd�WdQRXqWdS)N)r&�a)�argzar?)rrSrYr`rRrXr]r\)r rrdr
r
r�test_embedded_null_chars�s
z#TestCurses.test_embedded_null_charscCs"x�tjtjtjtjtjtjtjtjtj	tj
tjtjtj
tjtjtjtjtjtjtjtjtjtjgD]$}|j|jd��|�WdQRXqbWttd�r�t��ttd�r�t��t�d�r�t�d�t�d�t� �t� d�t!�"��&}|j#�$|�|�%d�t�&|�WdQRXt�'d�t�(d�t�)d�t�*d�t�+d	d	�t�,d
d
�}t�,d
d
dd�}t�-�t�-d�t�.d�t�/�t�0�t�0d�ttd��r�t�1d
d
�t�2d
�t�3d�t�d�t�4d�ttd��r�t�5t6j7�8��t�9d�t�:d�ttd��rt�;d�dS)zTest module-level functions)�funcN�filter�getsyxZcnormr?r�d�2r$sabc�setsyxZhc�coZcrscr�	typeaheadr&�use_env)<rZbaudrateZbeepZcan_change_colorZcbreakZ
def_prog_modeZdoupdateZflashZflushinp�
has_colorsZhas_icZhas_ilZisendwinZkillcharZlongnameZnocbreakZnoechoZnonlZ	noqiflushZnorawZreset_prog_modeZ	termattrsZtermnameZ	erasecharrSrTrrgrh�tigetstrZcurs_setZdelay_outputZechorrrZputwin�seekZgetwinZ	halfdelayZ	intrflush�metaZnapmsZnewpadrP�nlZputpZqiflush�rawrkZ	tigetflagZtigetnum�tparmrmr�	__stdin__r�unctrl�ungetchrn)r rf�frar
r
r�test_module_funcs�sb




















zTestCurses.test_module_funcscCslt��s|�d�t��t�ddd�t�d�t�d�t�tjd�t�	d�t
td�rht��dS)Nzrequires colors supportr@r?r�use_default_colors)rro�skipTestZstart_colorZ	init_pairZ
color_contentZ
color_pairZpair_contentZCOLOR_PAIRSZpair_numberrr{)r r
r
r�test_colors_funcss




zTestCurses.test_colors_funcs�keynamecCst�d�dS)N�
)rr~)r r
r
r�test_keyname#szTestCurses.test_keyname�has_keycCst�d�dS)Nr)rr�)r r
r
r�test_has_key'szTestCurses.test_has_key�getmousecCsLt�tj�\}}|dkr"|�d�t�d�t�ddddtj�t��}dS)Nrzmouse stuff not availabler#)rZ	mousemaskZBUTTON1_PRESSEDr|Z
mouseintervalZ
ungetmouser�)r Z	availmaskZoldmask�mr
r
r�
test_getmouse+s

zTestCurses.test_getmouse�panelc	CsBt�dd�}tj�|�}|jtjjdd��|��WdQRXdS)Nr#z!userptr should fail since not set)r<)rrPr��	new_panelrY�errorZuserptr)r �w�pr
r
r�test_userptr_without_set5s


z#TestCurses.test_userptr_without_setcCsft�dd�}tj�|�}t�}t�|�}xtd�D]}|�|�q2W|�d�|�	t�|�|d�dS)Nr#rizset_userptr leaked references)
rrPr�r��objectr�getrefcount�range�set_userptr�assertEqual)r r�r��objZnrefs�ir
r
r�test_userptr_memory_leak>s

z#TestCurses.test_userptr_memory_leakcsDt�dd�}tj�|��G�fdd�d�}��|����d�dS)Nr#cseZdZ�fdd�ZdS)z+TestCurses.test_userptr_segfault.<locals>.Acs��d�dS)N)r�)r )r�r
r�__del__Psz3TestCurses.test_userptr_segfault.<locals>.A.__del__N)�__name__�
__module__rTr�r
)r�r
r�AOsr�)rrPr�r�r�)r r�r�r
)r�r�test_userptr_segfaultKs
z TestCurses.test_userptr_segfaultcCs,t�dd�}tj�|�}|�tt|��dS)Nr#)rrPr�r�rYrZ�type)r r�r�r
r
r�test_new_curses_panelUsz TestCurses.test_new_curses_panel�is_term_resizedcCstj|j���dS)N)rr�rrW)r r
r
r�test_is_term_resized[szTestCurses.test_is_term_resized�resize_termcCstj|j���dS)N)rr�rrW)r r
r
r�test_resize_term_szTestCurses.test_resize_term�
resizetermcCsP|j}tjtj}}|d}|d}t�||�|�tj|�|�tj|�dS)Nr?)rrZLINESZCOLSr�r�)r r�lines�colsZ	new_linesZnew_colsr
r
r�test_resizetermcszTestCurses.test_resizetermcCst�d�|j��dS)Ni)rrxrrV)r r
r
r�test_issue6243ns
zTestCurses.test_issue6243�	unget_wchZopenbsdz!OpenBSD's curses (v.5.7) has bugscCs�|j}|j}x�dD]�}y|�|�Wntk
r:wYnXyt�|�Wn8tk
r�}z|�d||j|f�Wdd}~XYnX|��}|�	||�t
|�}t�|�|��}|�	||�qWdS)N)r&�éu€u􏿿z)unget_wch(%a) failed with encoding %s: %s)r�encoding�encode�UnicodeEncodeErrorrr��	ExceptionZfailZget_wchr��ord)r rr��ch�err�read�coder
r
r�test_unget_wchrs$
"
zTestCurses.test_unget_wchcCs(t�t�d�dd�}|�t|�t�dS)NZcupr$r*)rrurpZassertIsr��bytes)r �br
r
r�test_issue10570�szTestCurses.test_issue10570c	Cs^|j}ddl}|j}|�|�|�t��d|_WdQRX||_|�t��
|`WdQRXdS)Nrr#)r�codecsr��lookuprYrZ)r rr�r�r
r
r�
test_encoding�s
zTestCurses.test_encodingcCsX|j}yt�|j�}|�|�Wntk
r4YnX|jj�d�d}|�d|�dS)N�
rz[y, x,])	r�inspect�	signaturerQ�assertFalser`�__doc__�splitZassertIn)r rr�Zhuman_readable_signaturer
r
r�test_issue21088�s
	zTestCurses.test_issue21088cCsX|j}t|d�st�d��tjj|dd�}|��\}}|�|d|d�|�	d�dS)NrKzrequires curses.window.resizeT)Zinsert_moder@r&)
rrrrrZtextpadZTextboxrWrKZ_insert_printable_char)r rr[r�r�r
r
r�test_issue13051�s

zTestCurses.test_issue13051N)"r�r�rT�classmethodrrr!r"rbrerzr}rr�r�r�r�r�r�r�r�r�r�r�r�skipIfrr^r_r�r�r�r�r�r
r
r
rr*s6	
6

	

rc@seZdZed�dd��ZdS)�	MiscTests�update_lines_colscCst��dS)N)rr�)r r
r
r�test_update_lines_cols�sz MiscTests.test_update_lines_colsN)r�r�rTrr�r
r
r
rr��sr�c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�	TestAsciicCs*x$tjjD]}|�ttj|�|�q
WdS)N)r�asciiZcontrolnamesZ
assertTruer)r r	r
r
r�test_controlnames�szTestAscii.test_controlnamescs����fdd�}�xbtd�D�]T�t���t�g�}|tjj|���|tjj|���|tjj|���|tjj|���|tjj	|�	��|tjj
|�
��|tjj�dk�|tjj�dk�|tjj
�dk�|tjj�dkp�dk�|tjj�dk�|tjjd�k�odkn�|tjjd�k�oBdkn�|tjj�tjk�|tjj�tjk�qW�xd	d
dtjtjdfD�]���tj������tj������tj������tj������tj�	�����tj�
�����tj������tj�
�����tj������tj������tj������tj������tj������tj�����q�W��tj�d
��dS)Nc	s>�j�|d��&��|��|���|��|�WdQRXdS)N)r�rf)rSr�)rfZexpected)rCr�r r
r�check�sz$TestAscii.test_ctypes.<locals>.check��� �z 	�~rO���r?)r��chrr�rr��isalnum�isalpha�isdigit�islower�isspace�isupper�isasciiZismetaZisctrlZiscntrlZisblankZisgraphZisprintZispunct�stringZpunctuationZisxdigitZ	hexdigitsr�
maxunicoder�)r r�r�r
)rCr�r r�test_ctypes�sF
$$ zTestAscii.test_ctypescCsDtjj}|�|d�d�|�|d�d�|�|td��td��dS)N�Ár�)rr�r�r�)r r�r
r
r�
test_ascii�szTestAscii.test_asciicCsTtjj}|�|d�d�|�|d�d�|�|d�d�|�|td��td��dS)N�Jr��@�)rr��ctrlr�r�)r r�r
r
r�	test_ctrls
zTestAscii.test_ctrlcCs@tjj}|�|d�d�|�|d�d�|�|td��d�dS)Nr��Šr�r��)rr��altr�r�)r r�r
r
r�test_altszTestAscii.test_altcCs�tjj}|�|d�d�|�|d�d�|�|d�d�|�|d�d�|�|d�d�|�|d�d�|�|d	�d
�|�|td��d�|�|td��d�|�|d�d�|�|d
�d�|�|td��d�|�|td
��d�dS)Nr&r��;r+�z^?r�z^Jr�z^@r�z!^Jr�z!A)rr�rwr�r�)r rwr
r
r�test_unctrlszTestAscii.test_unctrlN)	r�r�rTr�r�r�r�r�r�r
r
r
rr��s-r��__main__)�osr�rrrZtest.supportrrrrr�rZcurses.panel�ImportErrorr�environ�getZtermr�r^ZTestCaserr�r�r��mainr
r
r
r�<module>s8X