Your IP : 216.73.216.213


Current Path : /proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/
Upload File :
Current File : //proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/test_curses.cpython-34.pyo

�
g f�2�@sddlZddlZddlZddlZddlmZmZmZddlZed�ed�Z	ed�e	_
ejjdd�Z
ejejj�d�eje
dkde
�ejejd	kd
�Gdd�dej����Zed
krej�ndS)�N)�requires�
import_module�verbose�curseszcurses.panelZTERM�unknownzsys.__stdout__ is not a ttyz*$TERM=%r, calling initscr() may cause exit�cygwinz!cygwin's curses mostly just hangsc@seZdZedd��Zdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Ze
jeed�d�dd��Zdd�Ze
jeed�d�dd��Zdd�Zdd �Zd!d"�Zd#S)$�
TestCursescCstjdtjj��dS)N�fd)rZ	setupterm�sys�
__stdout__�fileno)�cls�r�5/opt/alt/python34/lib64/python3.4/test/test_curses.py�
setUpClass%szTestCurses.setUpClasscCs-trt�ntj�|_tj�dS)N)r�printrZinitscr�stdscrZsavetty)�selfrrr�setUp)s
zTestCurses.setUpcCstj�tj�dS)N)rZresettyZendwin)rrrr�tearDown0s
zTestCurses.tearDowncCs$|j}tjdd�}tjdddd�}tjdddd�}xY|j|jgD]E}x<ddtjfd(dddtjfgD]}||�q�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]
}|�qPW|j!dd�|j!ddtj�|j!dddd�|j!ddddtj�|j"tj�|j#tj�|j$tj�|j%d�|j%dtj&�|j'd�|j'dtj&�|j(d	d
ddd
ddd�|j(dddddddd�|j)t*dd��'|j(d	d
ddd
gdd�WdQX|j+d�|j,dd�}|j,dddd�}|j-dd�|j.d�|j.dtj�|j/dd�|j/ddtj�|j/dddd�|j/ddddtj�|j0d�|j1d�|j2d�|j3d�|j4d�|j5d d�|j5d dtj�|j5ddd d�|j5ddd dtj�|j6d!�|j6d!tj�|j6ddd!�|j6ddd!tj�|j7d"�|j8d�|j9d�|j:dd�|j;dd�|j<d�|j=d�|j>|�|j?|�|j>|dddddd�|j?|dddddd�|j@dd�|jAd�|jB�|jBd�|jBd)�|j:d#d�|jCdd�|jDdd�}|jDdddd�}|jEd�|jFd�|jGdd�|jGddd"�|jHdd�|jHddtjI�|jJdddtjK�|jJdtj�|jJdd$tjL�|jJtjK�|j�|jHdddd�|jHddddtjI�tMtd%�r�|jN�ntMtd&�r�|jO�n|j)tP|jQd*�|j)tP|jQddd+�|j)tP|jd,�|j)tP|jddd-�dS).zTest the methods of windows�
���a�Z1234�� �A�B�C�D�E�F�G�H�|�!�-�_�+�\�#�/�msgz(Expected win.border() to raise TypeErrorN���	�c�abc�defr���resize�enclosei�)rrr���ip���ip������r9)Rrr�newwin�addchZaddstrZA_BOLDZbox�clearZclrtobotZclrtoeolZ	cursyncupZdelchZdeletelnZeraseZgetbegyxZgetbkgd�getkey�getmaxyxZgetparyxZgetyxZinchZinsertlnZinstrZ
is_wintouchedZnoutrefreshZ	redrawwinZrefreshZstandoutZstandendZsyncdownZsyncupZtouchwinZ
untouchwinZaddnstrZattronZattroffZattrsetZbkgdZ	A_REVERSEZbkgdsetZborder�assertRaises�	TypeErrorZclearokZderwinZmvderwinZechocharZhlineZidcokZidlokZimmedokZinschZinsdellnZinsnstrZinsstrZis_linetouchedZkeypadZleaveokZmoveZmvwinZnodelayZ	notimeoutZoverlayZ	overwriteZredrawlnZscrollokZscrollZ	setscrregZsubwinZsyncokZtimeoutZ	touchlineZvlineZ
A_STANDOUTZchgatZA_BLINKZA_UNDERLINE�hasattrr6r7�
ValueErrorZgetstr)rr�winZwin2�meth�argsZwin4Zwin3rrr�test_window_funcs4s�	


























zTestCurses.test_window_funcscCs
|j}x�tjtjtjtjtjtjtjtj	tj
tjtjtj
tjtjtjtjtjtjtjtjtjtjtjtjtjgD]
}|�q�Wtjd�r�tjd�ntjd�tj�tjd�tj �}|j!|�|j"d�tj#|�|j$�tj%d�tj&d�tj'd�tj(d�tj)dd�tj*dd�}tj*dddd�}tj+�tj+d�tj,d�tj-�tj.�tj.d�tj/dd�tj0d�tj1d	�tjd
�tj2d�tj3t4j5j6��tj7d�tj8d�tj9d�tj�r�tj:�tj;d
dd�tj<d�tj=d
�tj>tj?d�tj@d�tAtd�r�tjB�q�ntAtd�r
tjCd�ntAtd�r,tjDd�ntAtd�r�tjEtjF�\}}|dkr�tjGd�tjHddddtjF�tjI�}q�ntAtd�r�tjJ|jK��ntAtd�r�tjL|jK��ntAtd�r	tjM|jK��ndS)zTest module-level functionsZcnormr.r�d�2rsabcZhc�coZcrscrrr/�use_default_colors�keyname�
�has_key�getmouser�is_term_resized�
resizeterm�resize_termN)NrrZbaudrateZbeepZcan_change_colorZcbreakZ
def_prog_modeZdoupdate�filterZflashZflushinpZ
has_colorsZhas_icZhas_ilZisendwinZkillcharZlongnameZnocbreakZnoechoZnonlZ	noqiflushZnorawZreset_prog_modeZ	termattrsZtermnameZ	erasecharZgetsyx�tigetstrZcurs_setZdelay_outputZecho�tempfileZ
TemporaryFileZputwin�seekZgetwin�closeZ	halfdelayZ	intrflush�metaZnapmsZnewpadr:�nl�putpZqiflush�rawZsetsyxZ	tigetflagZtigetnum�tparmZ	typeaheadr
�	__stdin__r�unctrl�ungetchZuse_envZstart_colorZ	init_pairZ
color_contentZ
color_pairZpair_contentZCOLOR_PAIRSZpair_numberrArJrKrMZ	mousemaskZBUTTON1_PRESSEDZ
mouseintervalZ
ungetmouserNrOr>rPrQ)rr�func�frCZ	availmaskZoldmask�mrrr�test_module_funcs�s�	




























zTestCurses.test_module_funcsc
Csfddlm}xOdddddddddg	D],\}}|j|j|�|d|�q2WdS)Nr)�asciir�A�;r��^?�
�^J��^@�Š�!^J�Á�!Az#curses.unctrl fails on character %r)rr)rdrd)rere)rr)rfrg)rhri)rjrk)rlrm)rnro)rrc�assertEqualr])rrc�chZexpectedrrr�test_unctrl�s		zTestCurses.test_unctrlcCsTtjdd�}tjj|�}|jtjjdd��|j�WdQXdS)Nrr-z!userptr should fail since not set)rr:�panel�	new_panelr?�errorZuserptr)r�w�prrr�test_userptr_without_set	s

z#TestCurses.test_userptr_without_setcCs�tjdd�}tjj|�}t�}tj|�}x!td�D]}|j|�qIW|jd�|j	tj|�|d�dS)NrrGzset_userptr leaked references)
rr:rsrt�objectr
�getrefcount�range�set_userptrrp)rrvrw�objZnrefs�irrr�test_userptr_memory_leaks	
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)rsrr�__del__ sz3TestCurses.test_userptr_segfault.<locals>.A.__del__N)�__name__�
__module__�__qualname__r�r)rsrrrdsrd)rrsrtrr|)rrdr)rsr�test_userptr_segfaultsz TestCurses.test_userptr_segfaultrPzresizeterm not availablecCsatjtj}}|d}|d}tj||�|jtj|�|jtj|�dS)Nr.)rZLINESZCOLSrPrp)r�linesZcolsZ	new_linesZnew_colsrrr�test_resize_term%s

zTestCurses.test_resize_termcCstjd�|jj�dS)Ni)rr^rr=)rrrr�test_issue62430s
zTestCurses.test_issue6243�	unget_wchzunget_wch not availablecCs�|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)rr�r�r�)r�encoding�encode�UnicodeEncodeErrorrr��	ExceptionZfailZget_wchrp�ord)rrr�rq�err�read�coderrr�test_unget_wch4s$		

	'
zTestCurses.test_unget_wchcCsEtjtjd�dd�}|jt|�t�tj|�dS)NZcuprr)rr[rSZassertIs�type�bytesrY)r�brrr�test_issue10570KszTestCurses.test_issue10570cCss|j}ddl}|j}|j|�|jt��d|_WdQX||_|jt��|`WdQXdS)Nrr)r�codecsr��lookupr?r@)rrr�r�rrr�
test_encodingPs		
	zTestCurses.test_encodingcCsm|j}y#tj|j�}|j|�Wntk
r@YnX|jjjd�d}|jd�}dS)Nrhrz[y, x,])	r�inspect�	signaturer;ZassertFalserB�__doc__�split�find)rrr�Zhuman_readable_signature�offsetrrr�test_issue21088]s	

	zTestCurses.test_issue21088N)r�r�r��classmethodrrrrFrbrrrxrr��unittest�
skipUnlessrArr�r�r�r�r�r�rrrrrs"xQ

r�__main__)�osr
rTr�Ztest.supportrrrr�rrs�environ�getZtermr�r�isattyZskipIf�platformZTestCaserr��mainrrrr�<module>s$

�X