Your IP : 216.73.216.85


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/test_winconsoleio.cpython-38.pyc

U

i�f��@s�dZddlZddlZddlZddlZddlZddlmZejdkrLe�	d��ddl
mZejZ
Gdd�dej�Zed	kr�e��dS)
zTests for WindowsConsoleIO
�N)�supportZwin32ztest only relevant on win32)�write_inputc@s�eZdZdd�Zdd�Zdd�Ze�e�	�dd�d	kd
�dd��Z
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS)�WindowsConsoleIOTestscCs:|�tttj��|�tttj��|�tttj��dS)N)�
assertTrue�
issubclass�ConIO�io�	RawIOBase�assertFalse�BufferedIOBase�
TextIOBase��self�r�;/opt/alt/python38/lib64/python3.8/test/test_winconsoleio.py�test_abcszWindowsConsoleIOTests.test_abcc	Cs`|�tdtd�t���}|��}|�tdt|�W5QRXztd�}Wntk
r\Yn>X|�|���|�|�	��|�
d|���|��|��ztdd�}Wntk
r�Yn>X|�|���|�|�	��|�
d|���|��|��ztdd�}Wntk
�rYn>X|�|���|�|�	��|�
d|���|��|��dS)Nznegative file descriptor���z&Cannot open (console|non-console file)r��w�)ZassertRaisesRegex�
ValueErrorr�tempfileZ
TemporaryFile�filenor�readabler
�writable�assertEqual�close)rZtmpfile�fd�frrr�test_open_fdsN�
�z"WindowsConsoleIOTests.test_open_fdcCs�|�tttj�td�}|�|���|�|���|�	|�
��|��|��td�}|�|���|�|���|�	|�
��|��|��tdd�}|�|���|�|���|�	|�
��|��|��tdddd�}|�
|t�|��dS)	NZCON�CONIN$�CONOUT$rzC:/con�rbr��	buffering)ZassertRaisesrr�sys�
executablerrr
rZassertIsNotNonerr�open�assertIsInstance�rrrrr�test_open_nameGs,
z$WindowsConsoleIOTests.test_open_nameNr��rz+test does not work on Windows 7 and earliercCsHtdddd�}|�|t�|��tdddd�}|�|t�|��dS)Nz
\\.\conin$r"rr#z//?/conout$�wb)r'r(rrr)rrr�test_conin_conout_namescsz-WindowsConsoleIOTests.test_conin_conout_namesc	Cspt��}|�tj|�tj�|d�}t|ddd��4}t	�
�dd�dkrV|�|t�n|�
|t�W5QRXdS)Nr!r-rr#rr+)rZmkdtempZ
addCleanuprZrmtree�os�path�joinr'r%�getwindowsversionr(rZassertNotIsInstance)rZ	temp_pathZconout_pathrrrr�test_conout_pathnsz&WindowsConsoleIOTests.test_conout_pathc	Cs,tdd��}|�|�d�d�W5QRXdS)Nr!r�r)rr�writer)rrr�test_write_empty_datazsz+WindowsConsoleIOTests.test_write_empty_datacCsTtdd�}tj}z*|t_t|jj|d�dd��t�}W5|t_X|�||�dS)Nr �rz
�	utf-16-le�
surrogatepass)	r'r%�stdinr�buffer�raw�encode�inputr)r�textr:Z	old_stdin�actualrrr�assertStdinRoundTrip~s
�
z*WindowsConsoleIOTests.assertStdinRoundTripcCs,|�d�|�d�|�d�|�d�dS)NZabc123uϼўТλФЙuA͏B ﬖ̳AA̝u􀀀􏿿􏿽)rAr
rrr�
test_input�s


z WindowsConsoleIOTests.test_inputc
Cs�d�d�}d�d�}tdd�D]^}tdddd	��F}t||�d
}|�d�s^|�|�}||7}q@|�||d�|��W5QRXqdS)
NuϼўТλФЙ
r8�utf-8r�r r"rr#r4�
�stdin.read({})�r=�ranger'r�endswith�readr�format�r�source�expectedZ
read_countr:r@�brrr�test_partial_reads�s





z(WindowsConsoleIOTests.test_partial_readsc
Cs�d�d�}d�d�}tdd�D]^}tdddd	��F}t||�d
}|�d�s^|�|�}||7}q@|�||d�|��W5QRXqdS)
Nu
􁿿􁀁
r8rCrrDr r"rr#r4rErFrGrLrrr�test_partial_surrogate_reads�s





z2WindowsConsoleIOTests.test_partial_surrogate_readsc	Csxtdddd��`}d�d�}d�d�}t||�|�d	�|��}}|�|dd	�|�|�|d	d�|�W5QRXdS)
Nr r"rr#uÄ
r8�ÄrCr)r'r=rrJ�readallr)rr:rMrN�arOrrr�test_ctrl_z�s


z!WindowsConsoleIOTests.test_ctrl_z)�__name__�
__module__�__qualname__rrr*�unittestZskipIfr%r2r.r3r6rArBrPrQrUrrrrrs/�
	
r�__main__)�__doc__rr/r%rrYZtestr�platformZSkipTestZ_testconsoler�_WindowsConsoleIOrZTestCaserrV�mainrrrr�<module>s

/