Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_uu.cpython-39.pyc

a

��gb#�@s�dZddlZddlmZddlZddlZddlZddlZddlZdZ	dZ
Gdd�dej�Zdd	d
�Z
Gdd�dej�ZGd
d�dej�ZGdd�dej�Zedkr�e��dS)z%
Tests for uu module.
Nick Mathewson
�N)�supports7The symbols on top of your keyboard are !@#$%^&*()_+|~
sOM5&AE('-Y;6)O;',@;VX@=&]P(&]F('EO=7(@:V5Y8F]A<F0@87)E("% (R0E
*7B8J*"E?*WQ^"@  cs*eZdZdZd
�fdd�	Zdd	�Z�ZS)�FakeIOz�Text I/O implementation using an in-memory buffer.

    Can be a used as a drop-in replacement for sys.stdin and sys.stdout.
    ��utf-8�strict�
csVtt|�jt��|||d�||_||_|rRt|t�s>t|�}|�	|�|�
d�dS)N)�encoding�errors�newliner)�superr�__init__�io�BytesIO�	_encoding�_errors�
isinstance�str�write�seek)�selfZ
initial_valuerr	r
��	__class__��(/usr/local/lib/python3.9/test/test_uu.pyrs�

zFakeIO.__init__cCs|��|j���|j|j�S�N)�flush�buffer�getvalue�decoderr�rrrrr,szFakeIO.getvalue)rrrr)�__name__�
__module__�__qualname__�__doc__rr�
__classcell__rrrrrs
�rFcCsF|r(td||fd�t�dd�d}ntd||fd�td}|S)Nzbegin %03o %s
�ascii� �`s
`
end
s
 
end
)�bytes�encodedtext�replace)�mode�filename�backtick�resrrr�encodedtextwrapped1s
����r/c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�UUTestcCs�t�t�}t��}t�||d�|�|��tdd��t�t�}t��}t�||dd�|�|��tdd��t�t�}t��}tj||ddd�|�|��tddd��|�t	��"t�||ddd�Wd�n1s�0YdS)N�t1��T�r-)
r
r�	plaintext�uu�encode�assertEqualrr/�assertRaises�	TypeError)r�inp�outrrr�test_encode<s


zUUTest.test_encodec	Cs�dD]x}t�tdd|d��}t��}t�||�|�|��t�t�dtdd|d��}t��}t�||�|�|��t�qdS)N)TFr2r1r4sMUUencoded files may contain many lines,
even some that have 'begin' in them.
)r
rr/r6rr8rr5)rr-r;r<rrr�test_decodeLs��zUUTest.test_decodec
Cslt�dt�}t��}zt�||�|�d�Wn6tjyf}z|�t|�d�WYd}~n
d}~00dS)Ns
begin 644 t1
�No exception raisedzTruncated input file)	r
rr)r6r�fail�Errorr8r�rr;r<�errr�test_truncatedinput[szUUTest.test_truncatedinputc
Csht�d�}t��}zt�||�|�d�Wn6tjyb}z|�t|�d�WYd}~n
d}~00dS)N�r?z'No valid begin line found in input file)r
rr6rr@rAr8rrBrrr�test_missingbeginds
zUUTest.test_missingbeginc		Cs�d}d}d}||fD]�}|�d��Bt�|�}t��}tj||dd�|�|��|�Wd�n1sj0Y|�d��0ddl}|�|d�}|�||�Wd�q1s�0YqdS)	Nsbegin 644 file
!,___
 
end
sbegin 644 file
!,___
`
end
�3zuu.decode()T)�quiet�uu_codecr)ZsubTestr
rr6rr8r�codecs)	rZencodedtext1Zencodedtext2r5r)r;r<rJZdecodedrrr�test_garbage_paddingms��
.zUUTest.test_garbage_paddingcCs<t�t�}t��}d}d}t�|||�|�||���dS)Nztest.txt

overflow.txtstest.txt\n\roverflow.txt)r
rr5r6r7ZassertInr)rr;r<r,Zsafefilenamerrr�test_newlines_escaped�s
zUUTest.test_newlines_escapedcCs,d}|�tjd�� t�t�|��Wd�n1s80Ytjr�|�dd�}|�tjd�� t�t�|��Wd�n1s�0Yd}|�tjd�� t�t�|��Wd�n1s�0Ytj�r(|�dd�}|�tjd�� t�t�|��Wd�n1�s0YdS)Ns<begin 644 ../../../../../../../../tmp/test1
$86)C"@``
`
end
Z	directory�/�\s%begin 644 /tmp/test2
$86)C"@``
`
end
)	ZassertRaisesRegexr6rArr
r�os�altsepr*)rZrelative_badZrelative_bad_bsZabsolute_badZabsolute_bad_bsrrr�test_no_directory_traversal�s...z"UUTest.test_no_directory_traversalN)
r r!r"r=r>rDrFrKrLrQrrrrr0:s			r0c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�UUStdIOTestcCstj|_tj|_dSr)�sys�stdin�stdoutrrrr�setUp�szUUStdIOTest.setUpcCs|jt_|jt_dSr)rTrSrUrrrr�tearDown�szUUStdIOTest.tearDowncCsJtt�d��t_t�t_t�dddd�|�tj�	�t
dd��d��dS)Nr%�-r1r2)rr5rrSrTrUr6r7r8rr/rrrrr=�s�zUUStdIOTest.test_encodecCsZttdd��d��t_t�t_t�dd�tj}|jt_|jt_|�|��t	�d��dS)Nr2r1r%rX)
rr/rrSrTrUr6r8rr5)rrUrrrr>�szUUStdIOTest.test_decodeN)r r!r"rVrWr=r>rrrrrR�srRc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�
UUFileTestcCs<tjd|_tjd|_|�tj|j�|�tj|j�dS)N�i�o)rZTESTFN_ASCII�tmpin�tmpout�
addCleanup�unlinkrrrrrV�szUUFileTest.setUpc	CsPt|jd��}|�t�Wd�n1s,0Yt|jd��P}t|jd��$}tj|||jdd�Wd�n1sz0YWd�n1s�0Yt|jd��}|��}Wd�n1s�0Y|�|t	d|j��tj|j|j|jdd�t|jd��}|��}Wd�n1�s.0Y|�|t	d|j��dS)N�wb�rbr3)r+)
�openr\rr5r]r6r7�readr8r/)rZfinZfout�srrrr=�s(P&(zUUFileTest.test_encodecCs�t|jd��"}|�td|j��Wd�n1s40Yt|jd��}t�|�Wd�n1sj0Yt|jd��}|��}Wd�n1s�0Y|�|t	�dS�Nr`r3ra�
rbr\rr/r]r6rrcr8r5�r�frdrrrr>�s0(&zUUFileTest.test_decodecCs�t|jd��"}|�td|j��Wd�n1s40Yt�|j�t|jd��}|��}Wd�n1st0Y|�|t	�dSrerfrgrrr�test_decode_filename�s0&zUUFileTest.test_decode_filenamecCs�t|jd��"}|�td|j��Wd�n1s40Yt|jd��}t�|�Wd�n1sj0Yt|jd��"}|�tjtj|�Wd�n1s�0YdSre)	rbr\rr/r]r6rr9rA)rrhrrr�test_decodetwice�s0(zUUFileTest.test_decodetwicecCs�d}t|jd��"}|�t||j��Wd�n1s80Y|�tj|j|tj	B�t|jd��}t
�|�Wd�n1s�0Y|�t�
t�|j�j�|�dS)Ni$r`ra)rbr\rr/r]r^rO�chmod�stat�S_IWRITEr6rr8�S_IMODE�st_mode)rZ
expected_moderhrrr�test_decode_modes0(�zUUFileTest.test_decode_modeN)	r r!r"rVr=r>rirjrprrrrrY�s

rY�__main__)F)r#Zunittest�testrrOrlrSr6r
r5r)�
TextIOWrapperrr/ZTestCaser0rRrYr �mainrrrr�<module>s 
	vL

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists