Your IP : 216.73.217.129


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_curses.cpython-35.pyc



��YfhF�@sYddlZddlZddlZddlZddlZddlmZmZmZddl	Z	ed�ed�Z
ed�ed�ed�dd�Zejj
d	�Zejep�ed
kde�ejejdkd
�Gdd�dej���ZGdd�dej�ZGdd�dej�ZedkrUej�dS)�N)�requires�
import_module�verbose�curseszcurses.panelzcurses.asciizcurses.textpadcCstjtt|�d|�S)Nzrequires curses.%s)�unittestZ
skipUnless�hasattrr)�name�r	�5/opt/alt/python35/lib64/python3.5/test/test_curses.py�requires_curses_func srZTERM�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��Zdd�Zdd�Zdd�Zd d!�Zed"�d#d$��Zed%�d&d'��Zed(�d)d*��Zd+d,�Zed-�d.d/��Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8S)9�
TestCursescCsktjj�s?tjd��tj�|_|jj�}nd|_tjj�}t	j
d|�dS)Nzsys.__stdout__ is not a tty�fd)�sys�
__stdout__�isattyrZSkipTest�tempfile�
TemporaryFile�tmp�filenorZ	setupterm)�clsrr	r	r
�
setUpClass-s	zTestCurses.setUpClasscCs |jr|jj�|`dS)N)r�close)rr	r	r
�
tearDownClass;s	
zTestCurses.tearDownClasscCs*tr
t�tj�|_tj�dS)N)r�printrZinitscr�stdscrZsavetty)�selfr	r	r
�setUpAszTestCurses.setUpcCstj�tj�dS)N)rZresettyZendwin)rr	r	r
�tearDownHs
zTestCurses.tearDowncCs_|j}tjdd�}tjdddd�}tjdddd�}x||j|jgD]h}x_d*dtjfd+dddtjfgD]3}|jd|jd|��||�WdQRXq�Wq^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!|j"gD]*}|jd|j��|�WdQRXqsW|j#d	d
�|j#d	d
tj�|j#ddd	d
�|j#ddd	d
tj�|j$tj�|j%tj�|j&tj�|j'd�|j'dtj(�|j)d�|j)dtj(�|j*dd
dddddd�|j*dddddddd�|j+t,dd��'|j*dd
dddgdd�WdQRX|j-d�|j.dd�}|j.dddd�}|j/d d �|j0d�|j0dtj�|j1dd�|j1ddtj�|j1dddd�|j1ddddtj�|j2d�|j3d�|j4d�|j5d!�|j6d�|j7d"d
�|j7d"d
tj�|j7ddd"d
�|j7ddd"d
tj�|j8d#�|j8d#tj�|j8ddd#�|j8ddd#tj�|j9d$�|j:d�|j;d�|j<d
d
�|j=dd�|j>d�|j?d�|j@|�|jA|�|j@|ddddd
d
�|jA|ddddd
d
�|jBdd�|jCd�|jD�|jDd�|jDd,�|j<d%d�|jEdd�|jFdd�}|jFdddd�}|jGd�|jHd�|jIdd�|jIddd$�|jJdd
�|jJdd
tjK�|jLddd
tjM�|jLd
tj�|jLdd&tjN�|jLtjM�|j�|jJdddd
�|jJdddd
tjK�tOtd'�r�|jP�tOtd(�r�|jQ�|j+tR|jSd-�|j+tR|jSdd
d.�|j+tR|jd/�|j+tR|jdd
d0�dS)1zTest the methods of windows�
���a��meth�argsNZ1234�� �A�B�C�D�E�F�G�H�|�!�-�_�+�\�#�/�msgz(Expected win.border() to raise TypeError���	�c�abc�defr���resize�enclosei�)r#)r$r$r#���ip���ip������rE)Trr�newwin�addch�addstrZA_BOLD�subTest�__qualname__�box�clearZclrtobotZclrtoeolZ	cursyncupZdelchZdeletelnZeraseZgetbegyxZgetbkgd�getkey�getmaxyxZgetparyxZgetyxZinchZinsertlnZinstrZ
is_wintouchedZnoutrefreshZ	redrawwinZrefreshZstandoutZstandendZsyncdownZsyncupZtouchwinZ
untouchwin�addnstrZattronZattroffZattrsetZbkgdZ	A_REVERSEZbkgdsetZborder�assertRaises�	TypeErrorZclearokZderwinZmvderwinZechocharZhlineZidcokZidlokZimmedokZinschZinsdelln�insnstr�insstrZis_linetouchedZkeypadZleaveokZmoveZmvwinZnodelayZ	notimeoutZoverlayZ	overwriteZredrawlnZscrollokZscrollZ	setscrregZsubwinZsyncokZtimeoutZ	touchlineZvlineZ
A_STANDOUTZchgatZA_BLINKZA_UNDERLINErrBrC�
ValueErrorZgetstr)rr�winZwin2r%r&Zwin4Zwin3r	r	r
�test_window_funcsLs�	


























zTestCurses.test_window_funcsc
Cs�|j}x�ddgD]~}|jd|��c|jt|jd�|jt|jdd�|jt|jd�|jt|jdd�WdQRXqWdS)Nr#�a�argzar:)rrIrPrTrHrOrSrR)rrrXr	r	r
�test_embedded_null_chars�s	z#TestCurses.test_embedded_null_charscCs�x�tjtjtjtjtjtjtjtjtj	tj
tjtjtj
tjtjtjtjtjtjtjtjtjtjtjtjgD]*}|jd|j��|�WdQRXq�Wtjd�r�tjd�tjd�tj�tjd�t j!��1}|j"j#|�|j$d�tj%|�WdQRXtj&d�tj'd�tj(d�tj)d�tj*dd�tj+dd�}tj+dddd�}tj,�tj,d�tj-d	�tj.�tj/�tj/d�tj0dd�tj1d
�tj2d�tjd�tj3d
�tj4t5j6j7��tj8d�tj9d�tj:d�dS)zTest module-level functions�funcNZcnormr:r�d�2r!sabcZhc�coZcrscrr#);rZbaudrateZbeepZcan_change_colorZcbreakZ
def_prog_modeZdoupdate�filterZflashZflushinp�
has_colorsZhas_icZhas_ilZisendwinZkillcharZlongnameZnocbreakZnoechoZnonlZ	noqiflushZnorawZreset_prog_modeZ	termattrsZtermnameZ	erasecharZgetsyxrIrJ�tigetstrZcurs_setZdelay_outputZechorrrZputwin�seekZgetwinZ	halfdelayZ	intrflush�metaZnapmsZnewpadrF�nlZputpZqiflush�rawZsetsyxZ	tigetflagZtigetnum�tparmZ	typeaheadr�	__stdin__r�unctrl�ungetchZuse_env)rrZ�frUr	r	r
�test_module_funcs�sT




















zTestCurses.test_module_funcscCs�tj�s|jd�tj�tjddd�tjd�tjd�tjtjd�tj	d�t
td�r�tj�dS)Nzrequires colors supportr;r:r�use_default_colors)rr_�skipTestZstart_colorZ	init_pairZ
color_contentZ
color_pairZpair_contentZCOLOR_PAIRSZpair_numberrrk)rr	r	r
�test_colors_funcs�s




zTestCurses.test_colors_funcs�keynamecCstjd�dS)N�
)rrn)rr	r	r
�test_keynameszTestCurses.test_keyname�has_keycCstjd�dS)Nro)rrq)rr	r	r
�test_has_keyszTestCurses.test_has_key�getmousecCsjtjtj�\}}|dkr1|jd�tjd�tjddddtj�tj�}dS)Nrzmouse stuff not availabler )rZ	mousemaskZBUTTON1_PRESSEDrlZ
mouseintervalZ
ungetmousers)rZ	availmaskZoldmask�mr	r	r
�
test_getmouses

zTestCurses.test_getmousec	CsUtjdd�}tjj|�}|jtjjdd��|j�WdQRXdS)Nr r9z!userptr should fail since not set)rrF�panel�	new_panelrP�errorZuserptr)r�w�pr	r	r
�test_userptr_without_sets

z#TestCurses.test_userptr_without_setcCs�tjdd�}tjj|�}t�}tj|�}x!td�D]}|j|�qIW|jd�|j	tj|�|d�dS)Nr r[zset_userptr leaked references)
rrFrvrw�objectr�getrefcount�range�set_userptr�assertEqual)rryrz�objZnrefs�ir	r	r
�test_userptr_memory_leak%s	
z#TestCurses.test_userptr_memory_leakcsOtjj|j��G�fdd�d�}�j|���jd�dS)Ncs"eZdZ�fdd�ZdS)z+TestCurses.test_userptr_segfault.<locals>.Acs�jd�dS)N)r)r)rvr	r
�__del__4sz3TestCurses.test_userptr_segfault.<locals>.A.__del__N)�__name__�
__module__rJr�r	)rvr	r
�A3sr�)rrvrwrr)rr�r	)rvr
�test_userptr_segfault1sz TestCurses.test_userptr_segfaultcCs/tjj|j�}|jtt|��dS)N)rrvrwrrPrQ�type)rrvr	r	r
�test_new_curses_panel9sz TestCurses.test_new_curses_panel�is_term_resizedcCstj|jj��dS)N)rr�rrN)rr	r	r
�test_is_term_resized=szTestCurses.test_is_term_resized�resize_termcCstj|jj��dS)N)rr�rrN)rr	r	r
�test_resize_termAszTestCurses.test_resize_term�
resizetermcCsj|j}tjtj}}|d}|d}tj||�|jtj|�|jtj|�dS)Nr:)rrZLINESZCOLSr�r�)rr�lines�colsZ	new_linesZnew_colsr	r	r
�test_resizetermEs	

zTestCurses.test_resizetermcCstjd�|jj�dS)Ni)rrhrrM)rr	r	r
�test_issue6243Ps
zTestCurses.test_issue6243�	unget_wchcCs�|j}|j}x�dD]�}y|j|�Wntk
rGwYnXytj|�WnBtk
r�}z"|jd||j|f�WYdd}~XnX|j�}|j	||�t
|�}tj|�|j�}|j	||�qWdS)Nr#�é�€�􏿿z)unget_wch(%a) failed with encoding %s: %s)r#r�r�r�)r�encoding�encode�UnicodeEncodeErrorrr��	ExceptionZfailZget_wchr��ord)rrr��ch�err�read�coder	r	r
�test_unget_wchTs$		

	'
zTestCurses.test_unget_wchcCs8tjtjd�dd�}|jt|�t�dS)NZcupr!r')rrer`ZassertIsr��bytes)r�br	r	r
�test_issue10570jszTestCurses.test_issue10570cCsu|j}ddl}|j}|j|�|jt��d|_WdQRX||_|jt��|`WdQRXdS)Nrr )r�codecsr��lookuprPrQ)rrr�r�r	r	r
�
test_encodingns		
	zTestCurses.test_encodingcCsn|j}y#tj|j�}|j|�Wntk
r@YnX|jjjd�d}|jd|�dS)N�
rz[y, x,])	r�inspect�	signaturerG�assertFalserT�__doc__�splitZassertIn)rrr�Zhuman_readable_signaturer	r	r
�test_issue21088ys	

	zTestCurses.test_issue21088cCs\|j}tjj|dd�}|j�\}}|j|d|d�|jd�dS)NZinsert_modeTr;r#)rrZtextpadZTextboxrNrBZ_insert_printable_char)rrrKr�r�r	r	r
�test_issue13051�s
	zTestCurses.test_issue13051N)r�r�rJ�classmethodrrrrrVrYrjrmrrprrrur{r�r�r�r�r�r�r�r�r�r�r�r�r	r	r	r
r's0y
/

rc@s(eZdZed�dd��ZdS)�	MiscTests�update_lines_colscCstj�dS)N)rr�)rr	r	r
�test_update_lines_cols�sz MiscTests.test_update_lines_colsN)r�r�rJrr�r	r	r	r
r��sr�c@sXeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�	TestAsciicCs7x0tjjD]"}|jttj|�|�q
WdS)N)r�asciiZcontrolnamesZ
assertTruer)rrr	r	r
�test_controlnames�szTestAscii.test_controlnamescs����fdd�}x�td�D]��t���t�g�}|tjj|j��|tjj|j��|tjj|j��|tjj|j��|tjj	|j	��|tjj
|j
��|tjj�dk�|tjj�dk�|tjj
�dk�|tjj�dkpH�dk�|tjj�dk�|tjjd�ko�dkn�|tjjd�ko�dkn�|tjj�tjk�|tjj�tjk�q%Wx�dddtjtjd
fD]d��jtjj����jtjj����jtjj����jtjj����jtjj	����jtjj
����jtjj����jtjj
����jtjj����jtjj����jtjj����jtjj����jtjj����jtjj���qW�jtjjd
��dS)Nc
sP�jd�d|��1�j|��|��j|��|�WdQRXdS)Nr�rZ)rIr�)rZZexpected)r=r�rr	r
�check�sz$TestAscii.test_ctypes.<locals>.check��� �z 	�~r;r:rE���r�)r~�chrr�rr��isalnum�isalpha�isdigit�islower�isspace�isupperZisasciiZismetaZisctrlZiscntrlZisblankZisgraphZisprintZispunct�stringZpunctuationZisxdigitZ	hexdigitsr�
maxunicoder�)rr�r�r	)r=r�rr
�test_ctypes�sF%)) &zTestAscii.test_ctypescCs^tjj}|j|d�d�|j|d�d�|j|td��td��dS)N�Ár�)rr�r�r�)rr�r	r	r
�
test_ascii�szTestAscii.test_asciicCsttjj}|j|d�d�|j|d�d�|j|d�d�|j|td��td��dS)N�Jr��@�)rr��ctrlr�r�)rr�r	r	r
�	test_ctrl�s
zTestAscii.test_ctrlcCsXtjj}|j|d�d�|j|d�d�|j|td��d�dS)Nr��Šr�r��)rr��altr�r�)rr�r	r	r
�test_alt�szTestAscii.test_altcCsFtjj}|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d	�d
�|j|td��d�|j|td��d�|j|d�d�|j|d
�d�|j|td��d�|j|td
��d�dS)Nr#r��;r(�z^?r�z^Jr�z^@r�z!^Jr�z!A)rr�rgr�r�)rrgr	r	r
�test_unctrl�szTestAscii.test_unctrlN)	r�r�rJr�r�r�r�r�r�r	r	r	r
r��s-r��__main__)�osr�rrrZtest.supportrrrr�rr�environ�getZtermZskipIf�platformZTestCaserr�r�r��mainr	r	r	r
�<module>s.




�tX