403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.153
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_base64.cpython-36.pyc
3

�w2_�x�@s�ddlZddlmZddlZddlZddlZddlmZddlmZGdd�dej	�Z
Gdd�dej	�ZGd	d
�d
ej	�Ze
dkr�ej�dS)�N)�support)�array)�
script_helperc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�LegacyBase64TestCasecCsZ|jt|d�|jt|g�td�jdd�}|jt||�td�jd�}|jt||�dS)N�s1234�B��I)rr)�assertRaises�	TypeError�
memoryview�cast)�self�f�multidimensional�int_data�r�5/opt/alt/python36/lib64/python3.6/test/test_base64.py�check_type_errors
sz&LegacyBase64TestCase.check_type_errorsc	Cs$|jt��tjd�WdQRXdS)Nswww.python.org)�assertWarns�DeprecationWarning�base64Zencodestring)rrrr�test_encodestring_warnssz,LegacyBase64TestCase.test_encodestring_warnsc	Cs$|jt��tjd�WdQRXdS)Nsd3d3LnB5dGhvbi5vcmc=
)rrrZdecodestring)rrrr�test_decodestring_warnssz,LegacyBase64TestCase.test_decodestring_warnscCs�|j}|tjd�d�|tjd�d�|tjd�d�|tjd�d�|tjd	�d	�|tjd
�d�|tjtd��d�|tjtd��d�|tjtdd��d�|jtj�dS)
Nswww.python.orgsd3d3LnB5dGhvbi5vcmc=
�asYQ==
sabsYWI=
sabcsYWJj
�sRabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}srYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==
r)�assertEqualrZencodebytes�	bytearrayrrr)r�eqrrr�test_encodebytess
z%LegacyBase64TestCase.test_encodebytescCs�|j}|tjd�d�|tjd�d�|tjd�d�|tjd�d�|tjd	�d
�|tjd�d�|tjtd��d�|tjtd��d�|tjtdd��d�|jtj�dS)
Nsd3d3LnB5dGhvbi5vcmc=
swww.python.orgsYQ==
rsYWI=
sabsYWJj
sabcsrYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==
sRabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}rr)rrZdecodebytesrrrr)rrrrr�test_decodebytes0s
z%LegacyBase64TestCase.test_decodebytescCs�|j}ddlm}m}|d�}|�}tj||�||j�d�|jttj|d�|��|jttj|d�|��|jttj|d�|��dS)Nr)�BytesIO�StringIOsRabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}srYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==
�abcsabc)	r�ior!r"r�encode�getvaluer
r)rrr!r"�infp�outfprrr�test_encodeCsz LegacyBase64TestCase.test_encodecCs�ddlm}m}|d�}|�}tj||�|j|j�d�|jttj	|d�|��|jttj	|d�|��|jttj	|d�|��dS)Nr)r!r"sd3d3LnB5dGhvbi5vcmc=swww.python.orgzYWJj
sYWJj
)
r$r!r"r�decoderr&r
rr%)rr!r"r'r(rrr�test_decodeTsz LegacyBase64TestCase.test_decodeN)
�__name__�
__module__�__qualname__rrrrr r)r+rrrrr
src@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3S)4�BaseXYTestCasecCs |jt|d�|jt|g�dS)Nr)r
r)rrrrr�check_encode_type_errorsdsz'BaseXYTestCase.check_encode_type_errorscCs|jt|g�dS)N)r
r)rrrrr�check_decode_type_errorshsz'BaseXYTestCase.check_decode_type_errorscCsl|j}t|�}|||�|�|||�||t|��|�||td|��|�|jtj|�|jtj|�dS)Nr)rrrr�check_nonbyte_element_formatr�	b64encode�check_multidimensional)rr�
bytes_dataZexpectedr�brrr�check_other_typesks
z BaseXYTestCase.check_other_typescCsTt|�drdnd}||}t|�ddf}t|�jd|�}|j||�||��dS)Nr�rr)�lenrr
r)rr�data�paddingr5�shaperrrrr4ws
z%BaseXYTestCase.check_multidimensionalcCsBddt|�d}||}t|�jd�}|j||�||��dS)Nr8�r	)r9rr
r)rrr:r;r5rrrrr2~sz+BaseXYTestCase.check_nonbyte_element_formatcCs�|j}|tjd�d�|tjd�d�|tjd�d�|tjd�d�|tjd	�d
�|tjd�d�|tjd�d
�|tjddd�d�|tjdtd�d�d�|tjdtd�d�d�|tjdtdd�d�d�|jtjdd�|jtj�|jt	tjddd�|tj
d�d�|tj
d�d�|tj
d�d�|tj
d	�d
�|tj
d�d�|tj
d�d
�|jtj
dd�|jtj
�|tjd�d�|jtjdd�|jtj�dS)Nswww.python.orgsd3d3LnB5dGhvbi5vcmc=r8sAA==rsYQ==sabsYWI=sabcsYWJjrsRabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}spYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==s�V�o�s*$)�altcharss01a*b$cdrsabcdsYWJjZA==z*$s01a-b_cd)rrr3rrrr7r0r
rZstandard_b64encodeZurlsafe_b64encode)rrrrr�test_b64encode�sB

zBaseXYTestCase.test_b64encodec
Cs�|j}dddddddd�}x:|j�D].\}}|tj|�|�|tj|jd	��|�q$W|jtjd
d�|jtj�dd
i}x||j�D]p\\}}}|jd	�}|jd	�}|tj||d�|�|tj||d�|�|tj||d�|�|tj||d�|�q�Wx<|j�D]0\}}|tj|�|�|tj|jd	��|��qW|jtjd
d�|jtj�d
dd�}	x<|	j�D]0\}}|tj|�|�|tj|jd	��|��qfW|jtjdd
�|jtj�dS)Nswww.python.orgr8rsabsabcsRabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}r)sd3d3LnB5dGhvbi5vcmc=sAA==sYQ==sYWI=sYWJjsqYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==r�asciisYWJj�01a*b$cd�*$s�V�o�)r>)s01a-b_cdrs01a-b_cd)rArB)	r�itemsr�	b64decoder*r7r1�standard_b64decode�urlsafe_b64decode)
rr�testsr:�resZtests_altcharsr>�data_strZaltchars_strZ
tests_urlsaferrr�test_b64decode�sD


zBaseXYTestCase.test_b64decodecCs(|jtjtjd�|jtjtjd�dS)Nsabcr#)r
�binascii�ErrorrrD)rrrr�test_b64decode_padding_error�sz+BaseXYTestCase.test_b64decode_padding_errorcCs�d}tjtjtjf}x�|D]�\}}xL|D]D}|j||d��,|j||�|�|j||jd��|�WdQRXq(W|jtj	��tj|dd�WdQRX|jtj	��tj|jd�dd�WdQRXqWd}|jtjdd�|�|jtjd�|�dS) N�%3d==���$3d==�[==r�YW]3=�am�3{d==�3d}==�@@�!�	YWJj
YWI=�abcab)�bstr�funcr@T)Zvalidates����s++[[//]]s[]s++--//__�rNrO�rPrO�rQr�rRrS�rTrO�rUrO�rVr�rWr�rXrY)	r\r]r^r_r`rarbrcrd)
rrDrErF�subTestrr*r
rKrL)rrGZfuncsrZrHr[rrr�test_b64decode_invalid_chars�s0
$"z+BaseXYTestCase.test_b64decode_invalid_charscCs�|j}|tjd�d�|tjd�d�|tjd�d�|tjd�d�|tjd�d	�|tjd
�d�|tjd�d
�|jtjd
d�|jtj�dS)Nrr8sAA======rsME======sabsMFRA====sabcsMFRGG===sabcdsMFRGGZA=sabcdesMFRGGZDF)rrZ	b32encoder7r0)rrrrr�test_b32encodeszBaseXYTestCase.test_b32encodecCsv|j}dddddddd�}x:|j�D].\}}|tj|�|�|tj|jd	��|�q$W|jtjd
d�|jtj�dS)Nrr8rsabsabcsabcdsabcde)rsAA======sME======sMFRA====sMFRGG===sMFRGGZA=sMFRGGZDFr@sMFRGG===)rrCr�	b32decoder*r7r1)rrrGr:rHrrr�test_b32decodeszBaseXYTestCase.test_b32decodec	CsX|j}dddddddddddd�}x>|j�D]2\}}|tj|d�|�|tj|jd	�d�|�q,W|jtjtjd
�|jtjtjd�|tjd�d
�|tjd�d
�dd
ddi}x�|j�D]�\\}}}|jd	�}|jd	�}|tj||d�|�|tj||d�|�|tj||d�|�|tj||d�|�|jtjtj|�|jtjtj|�q�WdS)Nrrsabsabcsabcdsabcde)rsME======sMFRA====sMFRGG===sMFRGGZA=sMFRGGZDFsme======smfra====smfrgg===smfrggza=smfrggzdfTr@sme======zme======sMLO23456sbݭ�ZMLO23456�M1023456�L�Isb��)�map01)rjrk)rjrl)rrCrrhr*r
rKrL)	rrrGr:rHZ	map_testsrmrIZ	map01_strrrr�test_b32decode_casefold0s<

z&BaseXYTestCase.test_b32decode_casefoldcCs�dddg}dddddd	g}xTtd
d�D]F}|r<|jd|�x.|D]&}t|�|d
krB|j|d|�qBWq&Wxn|D]f}|j|d��P|jtj��tj|�WdQRX|jtj��tj|j	d��WdQRXWdQRXqvWdS)NsabcsABCDEF==s==ABCDEF�MsMEsMFRAsMFRGGsMFRGGZAsMFRGGZDFr��=�)r:r@)
�range�appendr9rer
rKrLrrhr*)rrG�prefixes�i�prefixr:rrr�test_b32decode_errorYs


z#BaseXYTestCase.test_b32decode_errorcCsF|j}|tjd�d�|tjd�d�|jtjdd�|jtj�dS)Ns���s
0102ABCDEFr8s00)rrZ	b16encoder7r0)rrrrr�test_b16encodeis
zBaseXYTestCase.test_b16encodecCs|j}|tjd�d�|tjd�d�|tjd�d�|tjd�d�|jtjtjd�|jtjtjd�|tjdd	�d�|tjdd	�d�|jtjdd�|jtj�|tjtd�d	�d�|tjt	d�d	�d�|tjt
d
d�d	�d�|jtjtjd�|jtjtjd�dS)
Ns
0102ABCDEFs���Z
0102ABCDEFs00r8Z00s
0102abcdefZ
0102abcdefTrZ0102AGZ010)rr�	b16decoder
rKrLr7r1rrr)rrrrr�test_b16decoders(
zBaseXYTestCase.test_b16decodecCs`|j}ddddttd��ddddd	d
ddd
ddddddd/dd0dd1di
}xZ|j�D]N\}}|tj|�||�|tj|dd�||�|tj|dd�d|d|�qPW|jtjdd�|jttjd�|tjdd dd!�d"�|tjd#d dd!�d$�|tjdd dd!�d%�|tjd2ddd(�d)�|tjd3ddd(�d*�|tjd4ddd(�d,�|tjd5ddd(�d.�dS)6Nrswww.python.orgsGB\6`E-ZP=Df.1GEb>�s?!!*-'"9eu7#RLhG$k3[W&.oNg'GVB"(`=52*$$(B+<_pR,UFcb-n-Vr/1iJ-0JP==1c70M3&s#]4?Ykm5X@_(6q'R884cEH9MJ8X:f1+h<)lt#=BSg3>[:ZC?t!MSA7]@cBPD3sCi+'.E,fo>FEMbNG^4U^I!pHnJ:W<)KS>/9Ll%"IN/`jYOHG]iPa.Q$R$jD4S=Q7DTV8*TUnsrdW2ZetXKAY/Yd(L?['d?O\@K2_]Y2%o^qmn*`5Ta:aN;TJbg"GZd*^:jeCE.%f\,!5gtgiEi8N\UjQ5OekiqBum-X60nF?)@o_%qPq"ad`r;HTsRabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}sg@:E_WAS,RgBkhF"D/O92EH6,BF`qtRH$VbC6UX@47n?3D92&&T:Jand;cHat='/U/0JP==1c70M3&r-I,;<FN.OZ`-3]oSW/g+A(H[Psno padding..sDJpY:@:Wn_DJ(RSszero compressionsH=_,8+Cf>,E,oN2F(oQ1zszero compressionsH=_,8+Cf>,E,oN2F(oQ1!!!!s
Boundary:s6>q!aA79M(3WK-[!!sSpace compr:    s;fH/TAKYK$D/aMV+<VdL��srrrss8N�ss8W*r=ss8W-!F)�adobeTs<~s~>r�)ZwrapcolrsGB\6`E-
ZP=Df.1
GEb>swww.python.orgszGB\6`E
-ZP=Df.
1GEb>s<~GB\6`
E-ZP=Df
.1GEb>
~>� rr)�
foldspacesrsyysy+<Vd�sy+<U�sy+9s��s���s����s        s       s      s     )	r�bytesrsrCr�	a85encoder7r
r)rrrGr:rHrrr�test_a85encode�s@"
zBaseXYTestCase.test_a85encodecCs�|j}ddddttd��ddddd	d
ddd
ddddddddddddi
}x$|j�D]\}}|tj|�|�qPW|jtjdd�dS)Nrswww.python.orgscXxL#aCvlSZ*DGca%Tr|s?009C61O)~M2nh-c3=Iws5D^j+6crX17#SKH9337XAR!_nBqb&%C@Cr{EG;fCFflSSG&MFiI5|2yJUu=?KtV!7L`6nNNJ&adOifNtP*GA-R8>}2SXo+ITwPvYU}0ioWMyV&XlZI|Y;A6DaB*^Tbai%jczJqze0_d@fPsR8goTEOh>41ejE#<ukdcy;l$Dm3n3<ZJoSmMZprN9pq@|{(sHv)}tgWuEu(7hUw6(UkxVgH!yuH4^z`?@9#Kp$P$jQpf%+1cv(9zP<)YaD4*xB0K+}+;a;Njxq<mKk)=;`X~?CtLF@bU8V^!4`l`1$(#{QdpsRabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}sgVPa!sWoBn+X=-b1ZEkOHadLBXb#`}nd3r%YLqtVJM@UIZOH55pPf$@(Q&d$}S6EqEFflSSG&MFiI5{CeBQRbjDkv#CIy^osE+AW7dwlsno padding..sZf_uPVPs@!Zf7noszero compressionsdS!BNAY*TBaB^jHb7^mG00000szero compressionsdS!BNAY*TBaB^jHb7^mG0000s
Boundary:sLT`0$WMOi7IsgCw00sSpace compr:    sQ*dEpWgug3ZE$irARr(hr}s{{rs|Njr~s|Ns9r=s|NsC0s��s���s����)rr�rsrCr�	b85encoder7)rrrGr:rHrrr�test_b85encode�s&
zBaseXYTestCase.test_b85encodecCsL|j}ddttd��dddddd	d
d!d"d#d�
}x�|j�D]�\}}|tj|�||�|tj|dd�||�|tj|jd�dd�||�|tjd|ddd�||�|tj|ddd�||�|tjd|jd�dd�||�q8W|tjdddd�d$�|tjdddd�d%�|tjdddd�d&�|tjdddd�d'�|jtjd d�dS)(Nrswww.python.orgr|sRabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}sno padding..szero compressionszero compressions
Boundary:sSpace compr:    r}rr~r=)
rsGB\6`E-ZP=Df.1GEb>sJ! ! * -'"
		9eu
7#  RLhG$k3[W&.oNg'GVB"(`=52*$$(B+<_pR,UFcb-n-Vr/1iJ-0JP==1c70M3&s#]4?Ykm5X@_(6q'R884cEH9MJ8X:f1+h<)lt#=BSg3>[:ZC?t!MSA7]@cBPD3sCi+'.E,fo>FEMbNG^4U^I!pHnJ:W<)KS>/9Ll%"IN/`jYOHG]iPa.Q$R$jD4S=Q7DTV8*TUnsrdW2ZetXKAY/Yd(L?['d?O\@K2_]Y2%o^qmn*`5Ta:aN;TJbg"GZd*^:jeCE.%f\,!5gtgiEi8N\UjQ5OekiqBum-X60nF?)@o_%qPq"ad`r;HTsg@:E_WAS,RgBkhF"D/O92EH6,BF`qtRH$VbC6UX@47n?3D92&&T:Jand;cHat='/U/0JP==1c70M3&r-I,;<FN.OZ`-3]oSW/g+A(H[PsDJpY:@:Wn_DJ(RSsH=_,8+Cf>,E,oN2F(oQ1zsH=_,8+Cf>,E,oN2F(oQ1!!!!s6>q!aA79M(3WK-[!!s;fH/TAKYK$D/aMV+<VdLsrrss8Nss8W*ss8W-!F)rr@s<~s~>Tz<~%s~>syy)r�rr�rrsy+<Vdr�sy+<Ur�sy+9r�sGB\6`E-ZP=Df.1GEb>s��s���s����s        s       s      s     )rr�rsrCr�	a85decoder*r7)rrrGr:rHrrr�test_a85decode�s8

zBaseXYTestCase.test_a85decodecCs~|j}ddttd��dddddd	d
dddd�
}x:|j�D].\}}|tj|�|�|tj|jd��|�q8W|jtjdd�dS)Nrswww.python.orgr|sRabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}sno padding..szero compressionszero compressions
Boundary:sSpace compr:    r}rr~r=)
rscXxL#aCvlSZ*DGca%Ts?009C61O)~M2nh-c3=Iws5D^j+6crX17#SKH9337XAR!_nBqb&%C@Cr{EG;fCFflSSG&MFiI5|2yJUu=?KtV!7L`6nNNJ&adOifNtP*GA-R8>}2SXo+ITwPvYU}0ioWMyV&XlZI|Y;A6DaB*^Tbai%jczJqze0_d@fPsR8goTEOh>41ejE#<ukdcy;l$Dm3n3<ZJoSmMZprN9pq@|{(sHv)}tgWuEu(7hUw6(UkxVgH!yuH4^z`?@9#Kp$P$jQpf%+1cv(9zP<)YaD4*xB0K+}+;a;Njxq<mKk)=;`X~?CtLF@bU8V^!4`l`1$(#{QdpsgVPa!sWoBn+X=-b1ZEkOHadLBXb#`}nd3r%YLqtVJM@UIZOH55pPf$@(Q&d$}S6EqEFflSSG&MFiI5{CeBQRbjDkv#CIy^osE+AW7dwlsZf_uPVPs@!Zf7nosdS!BNAY*TBaB^jHb7^mG00000sdS!BNAY*TBaB^jHb7^mG0000sLT`0$WMOi7IsgCw00sQ*dEpWgug3ZE$irARr(hs{{s|Njs|Ns9s|NsC0r@scXxL#aCvlSZ*DGca%Ts��s���s����)rr�rsrCr�	b85decoder*r7)rrrGr:rHrrr�test_b85decodes&

zBaseXYTestCase.test_b85decodecCs�|j}|tjddd�d�|tjddd�d�|tjddd�d�|tjd	dd�d
�|tjddd�d�|tjd�d
�|tjd�d�|tjd�d�|tjd
�d	�|tjd�d�dS)N�xT)�padsGQ7^DsxxsG^'2gsxxxsG^+H5sxxxxsG^+IXsxxxxxs
G^+IXGQ7^Dsxsxxsxxxsxxxxx)rrr�r�)rrrrr�test_a85_padding1szBaseXYTestCase.test_a85_paddingcCs�|j}|tjddd�d�|tjddd�d�|tjddd�d�|tjd	dd�d
�|tjddd�d�|tjd�d
�|tjd�d�|tjd�d�|tjd
�d	�|tjd�d�dS)Nr�T)r�scmMzZsxxscz6H+sxxxsczAdKsxxxxsczAetsxxxxxs
czAetcmMzZsxsxxsxxxsxxxxx)rrr�r�)rrrrr�test_b85_padding@szBaseXYTestCase.test_b85_paddingcCs�ttd��ttdd��Btd�}x�|D]�}|jtt|g�d��tjdt|g��WdQRX|jtt|g�d��tjdt|g�dd�WdQRX|jtt|g�d��"tjd	t|g�d
dd�WdQRXq(W|jttjddd�|jttjd
dd�|jttjd�|jttjddd�tjddd�|jttjddd�|jttjddd�|jttjdddd�|jttjddd�|jttjddd�|jttjddd�|jttjddd�|jttjddd�dS)N� �v�s 	

)�msgs!!!!F)rs<~!!!!s~>Ts	malformeds<~still malformeds<~~>sabcxsabcdeysa b
cr)rZignorechars�sss8ss8Wss8W-ss8W-")�setrsr
�
ValueErrorr�rr�)r�illegal�crrr�test_a85decode_errorsOs8"
"*











z$BaseXYTestCase.test_a85decode_errorscCs�ttd��td�ttdd��}x@|D]8}|jtt|g�d��tjdt|g��WdQRXq(W|jttjd�|jttjd�|jttjd	�|jttjd
�|jttjd�dS)N�!s	"',./:[\]�r�)r�s0000�|s|Ns|Nss|NsCs|NsC1)�listrsr
r�r�rr�)rr�r�rrr�test_b85decode_errorsrs
"z$BaseXYTestCase.test_b85decode_errorscCs@tjtjtjtjtjtjtjf}x|D]}|jt	|d�q&WdS)Nuwith non-ascii Ë)
rrDrErFrhrzr�r�r
r�)rZdecode_funcsrrrr�test_decode_nonascii_str�s
z'BaseXYTestCase.test_decode_nonascii_strcCs|jttjt��dS)N)Z
assertTrue�
issubclassrKrLr�)rrrr�test_ErrorHeritage�sz!BaseXYTestCase.test_ErrorHeritageN)r,r-r.r0r1r7r4r2r?rJrMrfrgrirnrxryr{r�r�r�r�r�r�r�r�r�r�rrrrr/`s228
)	2"-##r/c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestMaincCstjjtj�rtjtj�dS)N)�os�path�existsr�TESTFN�unlink)rrrr�tearDown�szTestMain.tearDowncGstjd|��jS)N�-mr)r�r)rZassert_python_ok�out)r�argsrrr�
get_output�szTestMain.get_outputcCs|jd�}|j|j�d�dS)Nz-t�b'Aladdin:open sesame'�!b'QWxhZGRpbjpvcGVuIHNlc2FtZQ==\n')r�r�r�)r�ZassertSequenceEqual�
splitlines)r�outputrrr�test_encode_decode�s


zTestMain.test_encode_decodec
CsDttjd��}|jd�WdQRX|jdtj�}|j|j�d�dS)N�wbsa�b
z-esYf9iCg==)�openrr��writer�r�rstrip)r�fpr�rrr�test_encode_file�szTestMain.test_encode_filec
CsFtjddd��}|jd�\}}WdQRX|j|j�d�|j|�dS)Nz-mrz-esa�b
sYf9iCg==)rZspawn_pythonZcommunicaterr�ZassertIsNone)r�procr��errrrr�test_encode_from_stdin�szTestMain.test_encode_from_stdinc
CsDttjd��}|jd�WdQRX|jdtj�}|j|j�d�dS)Nr�sYf9iCg==z-dsa�b)r�rr�r�r�rr�)rr�r�rrrr+�szTestMain.test_decodeN)	r,r-r.r�r�r�r�r�r+rrrrr��sr��__main__)ZunittestZtestrrrKr�rZtest.supportrZTestCaserr/r�r,�mainrrrr�<module>sV3"

Youez - 2016 - github.com/yon3zu
LinuXploit