Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.15.214.46
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : test_email.pyc
�
A��cc@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZyddlm
Z
Wn!ek
r�ddlm
Z
nXddlZddlmZddlmZmZmZddlmZmZddlmZmZdd	lmZdd
lm Z ddl!m"Z"ddl#m$Z$dd
l%m&Z&ddl'm(Z(ddl)m*Z*ddlm+Z+ddlm,Z,ddlm-Z-ddlm.Z.ddlm/Z/ddlm0Z0ddl1m2Z2m3Z3m4Z4ddl5m6Z7dZ8dZ9dZ:dd�Z;dej<fd��YZ=de=fd ��YZ>d!ej<fd"��YZ?d#e=fd$��YZ@d%ej<fd&��YZAd'ej<fd(��YZBd)ej<fd*��YZCd+ej<fd,��YZDd-e=fd.��YZEd/e=fd0��YZFd1ej<fd2��YZGd3e=fd4��YZHd5e=fd6��YZId7e=fd8��YZJd9e=fd:��YZKd;e=fd<��YZLd=e=fd>��YZMd?ej<fd@��YZNdAej<fdB��YZOdCej<fdD��YZPdEe=fdF��YZQdGe=fdH��YZRdIe=fdJ��YZSdK�ZTdL�ZUdM�ZVeWdNkr�ejXdOdP�ndS(Qi����N(tStringIO(tchoice(tThread(tCharset(tHeadert
decode_headertmake_header(tParsertHeaderParser(t	GeneratortDecodedGenerator(tMessage(t	MIMEAudio(tMIMEText(t	MIMEImage(tMIMEBase(tMIMEMessage(t
MIMEMultipart(tUtils(tErrors(tEncoders(t	Iterators(t
base64MIME(t
quopriMIME(tfindfiletrun_unittestt
start_threads(t__file__s
tt trcCs1tjjtjjt�d|�}t||�S(Ntdata(tostpathtjointdirnametlandmarktopen(tfilenametmodeR!((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pytopenfile2s$t
TestEmailBasecBseZd�Zd�ZRS(cCs}||kryt|�}t|�}tj|j�|j��}t�}|tItj|�IJ|j|j��ndS(s6Like assertEqual except use ndiff for readable output.N(	tstrtdifflibtndifft
splitlinesRtNLR"tfailureExceptiontgetvalue(tselftfirsttsecondtsfirsttssecondtdifftfp((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pytndiffAssertEqual:s	cCs7tt|��}ztj|�}Wd|j�X|S(N(R(Rtemailtmessage_from_filetclose(R1R&R7tmsg((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt_msgobjDs
(t__name__t
__module__R8R=(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR)9s	
tTestMessageAPIcBseZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5�Z7d6�Z8d7�Z9d8�Z:d9�Z;RS(:cCsT|j}|jd�}||jd�dddg�||jdd�d�dS(Ns
msg_20.txttccsccc@zzz.orgsddd@zzz.orgseee@zzz.orgtxxsn/a(tassertEqualR=tget_all(R1teqR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_allPs	cCsL|j}t�}||j�d�td�}|j|�||dd�||j�d�||dd�||jd�d�||dd	�||j�jd�|jd�||j�d�||dd�t�}d
|d<d|d
<d|d<|j|�||dd
�||dd�||dd�dS(Ns
iso-8859-1smime-versions1.0s
text/plainscontent-types text/plain; charset="iso-8859-1"tcharsetscontent-transfer-encodingsquoted-printables2.0sMIME-Versionstext/x-weirdsContent-Typesquinted-puntablesContent-Transfer-Encodings"text/x-weird; charset="iso-8859-1"(	RCRtget_charsettNoneRtset_charsettget_content_typet	get_paramt
input_charset(R1RER<RG((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_getset_charsetVs,		

	



cCsJ|j}t�}|jd�||j�jd�||dd�dS(Nsus-asciiscontent-typestext/plain; charset="us-ascii"(RCRRJRHRM(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_set_charset_from_stringps
		
cCsBt�}td�}|jd|�|j|j�jd�dS(Ns
iso-8859-1sThis is a string payload(RRtset_payloadRCRHRM(R1R<RG((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_set_payload_with_charsetws	c
Cs�|j}|jd�}|j�}||dddddg�|jd�}|jd�}||dddddg�|jd�}|j�}||dddddd	ddg�dS(
Ns
msg_08.txtsus-asciis
iso-8859-1s
iso-8859-2skoi8-rs
msg_09.txttdingbats
msg_12.txts
iso-8859-3(RCR=tget_charsetsRI(R1RER<tcharsets((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_charsets}s	
cCs�|j}|jd�}g|j�D]}|j�^q%}||ddg�|jd�}|jd�}||j�d�dS(Ns
msg_04.txtsmsg.txts
msg_07.txtisdingusfish.gif(RCR=tget_payloadtget_filename(R1RER<tpt	filenamestsubpart((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_filename�s	%cCsT|j}|jd�}g|j�D]}|j�^q%}||ddg�dS(Ns
msg_44.txtsmsg.txt(RCR=RVRW(R1RER<RXRY((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt%test_get_filename_with_name_parameter�s	%cCs/|j}|jd�}||j�d�dS(Ns
msg_07.txttBOUNDARY(RCR=tget_boundary(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_boundary�s	cCs�|j}|jd�}|jd�|j�d\}}||j�d�||d�|jd�}|jd�|j�d\}}||j�d�||d�|jd�}|jtj|jd�dS(	Ns
msg_01.txtR]iscontent-types3text/plain; charset="us-ascii"; boundary="BOUNDARY"s
msg_04.txts$multipart/mixed; boundary="BOUNDARY"s
msg_03.txt(RCR=tset_boundarytitemstlowertassertRaisesRtHeaderParseError(R1RER<theadertvalue((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_set_boundary�s	



cCsZtd�}|j|j�ddd�|j�|j|j�ddd d�dS(Ns	form-dataiismultipart/form-datai!s!multipart/form-data; boundary="==(RRCRat	as_string(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_make_boundary�s

cCs�ttd��}|j�}tjj�}|j|�}t�}tjj|t	d�}|j
|t�|j|j
�|�dS(Ns
msg_46.txti(R(RtreadR9RRtparsestrRR	tTruetflattentFalseRCR0(R1R7tmsgdatatparserR<touttgen((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_message_rfc822_only�s	cCs�|j}|jd�}||jdt�d�||jd�jdt�d�||jd�jdt�d�||jd�jdt�d�||jd	�jdt�d
�||jd�jdt�d�dS(
Ns
msg_10.txttdecodeis This is a 7bit encoded message.
is-�This is a Quoted Printable encoded message!
is!This is a Base64 encoded message.is"This is a Base64 encoded message.
is/This has no Content-Transfer-Encoding: header.
(RCR=RVRlRI(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_decoded_payload�s	cCs}|j}t�}|jd�x1d
D])}||d<||jdt�d�q&W|jd	�||jdt�d	�dS(Ns$begin 666 -
+:&5L;&\@=V]R;&0 
 
end
s
x-uuencodetuuencodetuuesx-uuescontent-transfer-encodingRtshello worldtfoo(s
x-uuencodeRvRwsx-uue(RCRRPRVRl(R1RER<tcte((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_decoded_uu_payload�s		



cCstt�}|jd�d|d<tj}z$t�t_}|jdt�Wd|t_X|j|j�d�dS(Ns%begin 664 foo.txt
%<W1F=0000H 
 
end
s
x-uuencodesContent-Transfer-EncodingRtR(	RRPtsyststderrRRVRlRCR0(R1R<t
old_stderrtsfp((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt$test_decode_bogus_uu_payload_quietly�s	

	
cCs{|j}|jd�}td�}z|j�}Wd|j�Xt�}t|�}|j|�||j�|�dS(Ns
msg_07.txts
msg_17.txt(	RCR=R(RjR;RR
RmR0(R1RER<R7ttexttstg((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_decoded_generators		
cCs�t�}d|d<d|d<|jd|�|jd|�|jd|�|jd|�|jd|�|jd|�dS(	NtMetFromtYouttotfromtFROMtTotTO(RtassertIn(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest__contains__s	

cCs�|j}|jd�}td�}z|j�jdd�}Wd|j�X|||j��t|�}|jd�}|j	|dj
d��||tj|d��dS(Ns
msg_01.txts	Rs
isFrom i(
RCR=R(RjtreplaceR;RhR*tsplitt
assertTruet
startswithR.R"(R1RER<R7R�tfullreprtlines((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_as_strings	
cCs,tjd�}|j|jd�d�dS(NsContent-Type: blarg; baz; boo
tbazR(R9tmessage_from_stringRCRL(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_bad_param1scCs)tjd�}|j|j�d�dS(Ns
From: foo
(R9R�RCRWRI(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_missing_filename5scCs)tjd�}|j|j�d�dS(Ns%Content-Disposition: blarg; filename
R(R9R�RCRW(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_bogus_filename9s	cCs)tjd�}|j|j�d�dS(Ns
From: foo
(R9R�RCR^RI(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_missing_boundary>scCs�|j}tjd�}||jdd�d
ddg�tjd
�}||jdd�dddg�||j�d�tjd�}||jdd�dddg�dS(Ns&X-Header: foo=one; bar=two; baz=three
Resx-headerRxtonetbarttwoR�tthrees X-Header: foo; bar=one; baz=two
Rs"X-Header: foo; bar="one"; baz=two
(RxR�(R�R�(R�R�(RxR(R�R�(R�R�(RxR(R�R�(R�R�(RCR9R�t
get_paramsRI(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_paramsBs				cCs0t�}d|d<|j|jd�d�dS(Ns>Content-Type: Multipart/mixed; boundary = "CPIMSSMTPC06p5f3tG"sContent-TypetboundarytCPIMSSMTPC06p5f3tG(RRCRL(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_param_liberalRs	
cCs�|j}tjd�}||jddd�d�||jddd�d�||jd�d�tjd�}||jddd�d	�||jddd�d
�||jddd�d�dS(Ns&X-Header: foo=one; bar=two; baz=three
R�Resx-headerR�tquuzs"X-Header: foo; bar="one"; baz=two
RxRR�R�(RCR9R�RLRI(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_paramWs			cCs5|jd�}|j|jd�jd�d�dS(Ns
msg_22.txtitnames
wibble.JPG(R=RCRVRL(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt'test_get_param_funky_continuation_lineshscCsKtjd�}|j|jd�d�|j|jddt�d�dS(Ns4Content-Type: image/pjpeg; name="Jim&amp;&amp;Jill"
R�sJim&amp;&amp;Jilltunquotes"Jim&amp;&amp;Jill"(R9R�RCRLRn(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt#test_get_param_with_semis_in_quotesls
	cCsTtjd�}|j|jd�d�tjd�}|j|jd�d�dS(Ns5Content-Type: foo; bar*0="baz\"foobar"; bar*1="\"baz"R�sbaz"foobar"baz(R9R�RCRL(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_param_with_quotesss		cCsktjd�}|j|jd��|j|jd��|j|jd��|j|jd��dS(NsHeader: existsReRtHEADERtheaderi(R9R�R�thas_keytassertFalse(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_has_key{s
cCs�|j}t�}|jdd�||jd�d�|jdd�||jd�d�||jddt�d�||j�d
ddg�||jdt�dddg�|jdd
dd�||jddd�d
�dS(NRGsiso-2022-jpt
importances
high valueR�s"high value"s
text/plainRs
"iso-2022-jp"siso-9999-xxResX-Jimmy(s
text/plainR(RGsiso-2022-jp(R�s
high value(s
text/plainR(RGs
"iso-2022-jp"(R�s"high value"(RCRt	set_paramRLRnR�(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_set_param�s		

cCs�|j}|jd�}||j�dd	d
g�|jd�}|jd�||j�ddg�|jd|�||j�d
dd|fg�dS(Ns
msg_05.txtsmultipart/reportRsreport-typesdelivery-statusR�s%D1690A7AC1.996856090/mail.example.com(smultipart/reportR(sreport-typesdelivery-status(R�s%D1690A7AC1.996856090/mail.example.com(smultipart/reportR(R�s%D1690A7AC1.996856090/mail.example.com(smultipart/reportR(R�s%D1690A7AC1.996856090/mail.example.com(RCR=R�RLt	del_paramR�(R1RER<told_val((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_del_param�s	


cCsGt�}|jdddd�|jdd�|j|dd�dS(NsContent-Dispositiont
attachmentR&sbud.gifscontent-disposition(Rt
add_headerR�RC(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_del_param_on_other_header�s	cCs�|j}t�}|jt|jd�|jd�||dd�|jdd�||dd�|jd�||dd�dS(	NR�s
text/plainscontent-typeRGsus-asciistext/plain; charset="us-ascii"s	text/htmlstext/html; charset="us-ascii"(RCRRct
ValueErrortset_typeR�(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt
test_set_type�s		

cCs;t�}d|d<|jdd�|j|dd�dS(Ns
text/plainsX-Content-Typesapplication/octet-streamsx-content-type(RR�RC(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_set_type_on_other_header�s	
cCs#t�}|j|j�d�dS(Ns
text/plain(RRCRK(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_content_type_missing�s	cCs0t�}|jd�|j|j�d�dS(Nsmessage/rfc822(Rtset_default_typeRCRK(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt/test_get_content_type_missing_with_default_type�s	
cCs2|jd�}|j|jd�j�d�dS(Ns
msg_30.txtismessage/rfc822(R=RCRVRK(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt+test_get_content_type_from_message_implicit�scCs2|jd�}|j|jd�j�d�dS(Ns
msg_28.txtismessage/rfc822(R=RCRVRK(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt+test_get_content_type_from_message_explicit�scCs)|jd�}|j|j�d�dS(Ns
msg_03.txts
text/plain(R=RCRK(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt6test_get_content_type_from_message_text_plain_implicit�scCs)|jd�}|j|j�d�dS(Ns
msg_01.txts
text/plain(R=RCRK(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt6test_get_content_type_from_message_text_plain_explicit�scCs#t�}|j|j�d�dS(NR�(RRCtget_content_maintype(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt!test_get_content_maintype_missing�s	cCs0t�}|jd�|j|j�d�dS(Nsmessage/rfc822tmessage(RR�RCR�(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt3test_get_content_maintype_missing_with_default_type�s	
cCs2|jd�}|j|jd�j�d�dS(Ns
msg_30.txtiR�(R=RCRVR�(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt/test_get_content_maintype_from_message_implicit�scCs2|jd�}|j|jd�j�d�dS(Ns
msg_28.txtiR�(R=RCRVR�(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt/test_get_content_maintype_from_message_explicit�scCs)|jd�}|j|j�d�dS(Ns
msg_03.txtR�(R=RCR�(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt:test_get_content_maintype_from_message_text_plain_implicit�scCs)|jd�}|j|j�d�dS(Ns
msg_01.txtR�(R=RCR�(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt:test_get_content_maintype_from_message_text_plain_explicit�scCs#t�}|j|j�d�dS(Ntplain(RRCtget_content_subtype(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt test_get_content_subtype_missing�s	cCs0t�}|jd�|j|j�d�dS(Nsmessage/rfc822trfc822(RR�RCR�(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt2test_get_content_subtype_missing_with_default_type�s	
cCs2|jd�}|j|jd�j�d�dS(Ns
msg_30.txtiR�(R=RCRVR�(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt.test_get_content_subtype_from_message_implicit�scCs2|jd�}|j|jd�j�d�dS(Ns
msg_28.txtiR�(R=RCRVR�(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt.test_get_content_subtype_from_message_explicit�scCs)|jd�}|j|j�d�dS(Ns
msg_03.txtR�(R=RCR�(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt9test_get_content_subtype_from_message_text_plain_implicitscCs)|jd�}|j|j�d�dS(Ns
msg_01.txtR�(R=RCR�(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt9test_get_content_subtype_from_message_text_plain_explicitscCs-t�}d|d<|j|j�d�dS(Nsno-slash-in-this-stringsContent-TypeR�(RRCR�(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_content_maintype_errors	
cCs-t�}d|d<|j|j�d�dS(Nsno-slash-in-this-stringsContent-TypeR�(RRCR�(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_content_subtype_error
s	
cCs=|j}t�}|jdd�|jdd�|jdd�||j�dddg�||j�dddg�|jdd�||j�dddg�||j�dddg�|jdd�|jdd	�||j�ddddg�||j�d	dddg�|jt|jd
d�dS(NtFirsttOnetSecondtTwotThirdtThreetTwentytElevensOne HundredtFourthtMissing(RCRR�tkeystvaluestreplace_headerRctKeyError(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_replace_headers		cCsPd}t�}d|d<d|d<|j|�|j|jdt�|�dS(NsAwDp0P7//y6LwKEAcPa/6Q=9saudio/x-midiscontent-typetbase64scontent-transfer-encodingRt(RRPRCRVRl(R1txR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_broken_base64_payload#s	


cCsSt�}|jd�|jd|j��|jd�|jd|j��dS(Nsus-asciiuus-ascii(RRJRCtget_content_charset(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_get_content_charset+s
	

cCs3t�}td�|d<|jtj|j�dS(Nsdummy
X-Injected-Header: testtDummy(RRRcRRdRh(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt(test_embedded_header_via_Header_rejected4s	cCs-t�}d|d<|jtj|j�dS(Nsdummy
X-Injected-Header: testR�(RRcRRdRh(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt(test_embedded_header_via_string_rejected9s	
(<R>R?RFRNRORQRUR[R\R_RgRiRsRuRzRR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR@Ost														
	
																																											tTestEncoderscBs#eZd�Zd�Zd�ZRS(cCs4|j}t�}|jd�||dd�dS(Nsus-asciiscontent-transfer-encodingt7bit(RCRRJ(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_encode_empty_payloadAs		
cCsj|j}td�}||dd�td�}||dd�tddd�}||dd�dS(	Nshello worldscontent-transfer-encodingR�s
hello � worldt8bitt_charsets
iso-8859-1squoted-printable(RCR
(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_default_cteGs	cCs6|j}tjjddd�}||dd�dS(NsʸR�seuc-jpscontent-transfer-encodingR�(RCR9R
(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_encode7or8bitSs	(R>R?R�R�R�(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR�@s		tTestLongHeaderscBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cCsQ|j}tjd�}t�}t|�}|j|�||j�d�dS(Ns�Subject: bug demonstration
	12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
	more text

test
s�Subject: bug demonstration
 12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
 more text

test
(R8R9R�RR	RmR0(R1RER<R~R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_split_long_continuation^s			
cCsW|j}d}t|dd�}||j�d�t|�}||j�d�dS(Ns�bug demonstration
	12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
	more texttcontinuation_wss	s�bug demonstration
 12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
 more text(R8Rtencode(R1REthstrth((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt,test_another_long_almost_unsplittable_headerrs	cCs�|j}td�}td�}td�}d}d}djd�}t||dd�}|j||�|j||�t�}	||	d<t�}
t|
�}|j|	�||
j	�d	�||j�d
�dS(Ns
iso-8859-1s
iso-8859-2sutf-8s�Die Mieter treten hier ein werden mit einem Foerderband komfortabel den Korridor entlang, an s�dl�ndischen Wandgem�lden vorbei, gegen die rotierenden Klingen bef�rdert. s;Finan�ni metropole se hroutily pod tlakem jejich d�vtipu.. u�正確に言うと翻訳はされていません。一部はドイツ語ですが、あとはでたらめです。実際には「Wenn ist das Nunstuck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput.」と言っています。theader_nametSubjectsSubject: =?iso-8859-1?q?Die_Mieter_treten_hier_ein_werden_mit_einem_Foerd?=
 =?iso-8859-1?q?erband_komfortabel_den_Korridor_entlang=2C_an_s=FCdl=FCndi?=
 =?iso-8859-1?q?schen_Wandgem=E4lden_vorbei=2C_gegen_die_rotierenden_Kling?=
 =?iso-8859-1?q?en_bef=F6rdert=2E_?= =?iso-8859-2?q?Finan=E8ni_met?=
 =?iso-8859-2?q?ropole_se_hroutily_pod_tlakem_jejich_d=F9vtipu=2E=2E_?=
 =?utf-8?b?5q2j56K644Gr6KiA44GG44Go57+76Kiz44Gv44GV44KM44Gm44GE?=
 =?utf-8?b?44G+44Gb44KT44CC5LiA6YOo44Gv44OJ44Kk44OE6Kqe44Gn44GZ44GM44CB?=
 =?utf-8?b?44GC44Go44Gv44Gn44Gf44KJ44KB44Gn44GZ44CC5a6f6Zqb44Gr44Gv44CM?=
 =?utf-8?q?Wenn_ist_das_Nunstuck_git_und_Slotermeyer=3F_Ja!_Beiherhund_das?=
 =?utf-8?b?IE9kZXIgZGllIEZsaXBwZXJ3YWxkdCBnZXJzcHV0LuOAjeOBqOiogOOBow==?=
 =?utf-8?b?44Gm44GE44G+44GZ44CC?=

s�=?iso-8859-1?q?Die_Mieter_treten_hier_ein_werden_mit_einem_Foerd?=
 =?iso-8859-1?q?erband_komfortabel_den_Korridor_entlang=2C_an_s=FCdl=FCndi?=
 =?iso-8859-1?q?schen_Wandgem=E4lden_vorbei=2C_gegen_die_rotierenden_Kling?=
 =?iso-8859-1?q?en_bef=F6rdert=2E_?= =?iso-8859-2?q?Finan=E8ni_met?=
 =?iso-8859-2?q?ropole_se_hroutily_pod_tlakem_jejich_d=F9vtipu=2E=2E_?=
 =?utf-8?b?5q2j56K644Gr6KiA44GG44Go57+76Kiz44Gv44GV44KM44Gm44GE?=
 =?utf-8?b?44G+44Gb44KT44CC5LiA6YOo44Gv44OJ44Kk44OE6Kqe44Gn44GZ44GM44CB?=
 =?utf-8?b?44GC44Go44Gv44Gn44Gf44KJ44KB44Gn44GZ44CC5a6f6Zqb44Gr44Gv44CM?=
 =?utf-8?q?Wenn_ist_das_Nunstuck_git_und_Slotermeyer=3F_Ja!_Beiherhund_das?=
 =?utf-8?b?IE9kZXIgZGllIEZsaXBwZXJ3YWxkdCBnZXJzcHV0LuOAjeOBqOiogOOBow==?=
 =?utf-8?b?44Gm44GE44G+44GZ44CC?=(
R8RR�RtappendRRR	RmR0(R1RER�tcztutf8tg_headtcz_headt	utf8_headR�R<R~((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_long_nonstring�s&		
	

cCs2|j}tddd�}||j�d�dS(Nsiwasnipoop; giraffes="very-long-necked-animals"; spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"R�sX-Foobar-Spoink-Defrobnitsjwasnipoop; giraffes="very-long-necked-animals";
 spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"(R8RR�(R1RER�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_long_header_encode�s
			cCs8|j}tddddd�}||j�d�dS(Nsiwasnipoop; giraffes="very-long-necked-animals"; spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"R�sX-Foobar-Spoink-DefrobnitR�s	sjwasnipoop; giraffes="very-long-necked-animals";
	spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"(R8RR�(R1RER�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt-test_long_header_encode_with_tab_continuation�s			cCsX|j}td�}d|d<t�}t|�}|j|�||j�d�dS(NRsiwasnipoop; giraffes="very-long-necked-animals"; spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"sX-Foobar-Spoink-Defrobnits�Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Foobar-Spoink-Defrobnit: wasnipoop; giraffes="very-long-necked-animals";
 spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"

(R8R
RR	RmR0(R1RER<R~R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_header_splitter�s	
	
cCs�|j}t�}d|d<tjgtd�D]}d|^q/�|d<|jd�t�}t|�}|j|�||j	�d�dS(Nstest@dom.ainR�i
s<%d@dom.ain>t
ReferencestTests�From: test@dom.ain
References: <0@dom.ain> <1@dom.ain> <2@dom.ain> <3@dom.ain> <4@dom.ain>
 <5@dom.ain> <6@dom.ain> <7@dom.ain> <8@dom.ain> <9@dom.ain>

Test(
R8RtSPACER"trangeRPRR	RmR0(R1RER<tiR~R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_no_semis_header_splitter�s		
0
	
cCs@|j}ddd}t|dd�}||j�d�dS(NsReferences: R�iPR�s	s\References: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(R8RR�(R1RER�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_no_split_long_header�s
	cCs8|j}d}t|dd�}||j�d�dS(NsWfrom babylon.socal-raves.org (localhost [127.0.0.1]); by babylon.socal-raves.org (Postfix) with ESMTP id B570E51B81; for <mailman-admin@babylon.socal-raves.org>; Sat, 2 Feb 2002 17:00:06 -0800 (PST)
	from babylon.socal-raves.org (localhost [127.0.0.1]); by babylon.socal-raves.org (Postfix) with ESMTP id B570E51B81; for <mailman-admin@babylon.socal-raves.org>; Sat, 2 Feb 2002 17:00:06 -0800 (PST)
	from babylon.socal-raves.org (localhost [127.0.0.1]); by babylon.socal-raves.org (Postfix) with ESMTP id B570E51B81; for <mailman-admin@babylon.socal-raves.org>; Sat, 2 Feb 2002 17:00:06 -0800 (PST)
R�s	s_from babylon.socal-raves.org (localhost [127.0.0.1]);
	by babylon.socal-raves.org (Postfix) with ESMTP id B570E51B81;
	for <mailman-admin@babylon.socal-raves.org>;
	Sat, 2 Feb 2002 17:00:06 -0800 (PST)
	from babylon.socal-raves.org (localhost [127.0.0.1]);
	by babylon.socal-raves.org (Postfix) with ESMTP id B570E51B81;
	for <mailman-admin@babylon.socal-raves.org>;
	Sat, 2 Feb 2002 17:00:06 -0800 (PST)
	from babylon.socal-raves.org (localhost [127.0.0.1]);
	by babylon.socal-raves.org (Postfix) with ESMTP id B570E51B81;
	for <mailman-admin@babylon.socal-raves.org>;
	Sat, 2 Feb 2002 17:00:06 -0800 (PST)(R8RR�(R1RER�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt"test_splitting_multiple_long_lines�s
	cCsD|j}d}t|dddddd�}||j�d�dS(	Ns�from modemcable093.139-201-24.que.mc.videotron.ca ([24.201.139.93] helo=cthulhu.gerg.ca)
	by kronos.mems-exchange.org with esmtp (Exim 4.05)
	id 17k4h5-00034i-00
	for test@mems-exchange.org; Wed, 28 Aug 2002 11:25:20 -0400t
maxlineleniNR�tReceivedR�s	s�from modemcable093.139-201-24.que.mc.videotron.ca ([24.201.139.93]
	helo=cthulhu.gerg.ca)
	by kronos.mems-exchange.org with esmtp (Exim 4.05)
	id 17k4h5-00034i-00
	for test@mems-exchange.org; Wed, 28 Aug 2002 11:25:20 -0400(R8RR�(R1RER�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt&test_splitting_first_line_only_is_longs		cCsU|j}t�}tdddd�}|jd�||d<||j�d�dS(NsBritische Regierung gibts
iso-8859-1R�R�s+gr�nes Licht f�r Offshore-Windkraftprojektes�Subject: =?iso-8859-1?q?Britische_Regierung_gibt?= =?iso-8859-1?q?gr=FCnes?=
 =?iso-8859-1?q?_Licht_f=FCr_Offshore-Windkraftprojekte?=

(R8RRR�Rh(R1RER<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_long_8bit_headers			

cCs3|j}t�}d|d<||j�d�dS(NsfBritische Regierung gibt gr�nes Licht f�r Offshore-Windkraftprojekte <a-very-long-address@example.com>sReply-TosrReply-To: Britische Regierung gibt gr�nes Licht f�r Offshore-Windkraftprojekte <a-very-long-address@example.com>

(R8RRh(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt test_long_8bit_header_no_charsets
		
cCs<|j}d}t�}||d<||jd�d�dS(Ns�"Someone Test #A" <someone@eecs.umich.edu>,<someone@eecs.umich.edu>,"Someone Test #B" <someone@umich.edu>, "Someone Test #C" <someone@eecs.umich.edu>, "Someone Test #D" <someone@eecs.umich.edu>R�is�To: "Someone Test #A" <someone@eecs.umich.edu>, <someone@eecs.umich.edu>,
 "Someone Test #B" <someone@umich.edu>,
 "Someone Test #C" <someone@eecs.umich.edu>,
 "Someone Test #D" <someone@eecs.umich.edu>

(R8RRh(R1RER�R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_long_to_header(s		
cCs?|j}d}t|�}|jd�||j�d�dS(NsIThis is an example of string which has almost the limit of header length.sAdd another line.s\This is an example of string which has almost the limit of header length.
 Add another line.(R8RR�R�(R1RER�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_long_line_after_append5s	
cCs?|j}d}t|�}|jd�||j�d�dS(NsThis is a shorter line.s!Add another sentence. (Surprise?)s9This is a shorter line. Add another sentence. (Surprise?)(R8RR�R�(R1RER�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_shorter_line_with_append>s	
cCsA|j}d}d}t|dd|�}||j�d�dS(Ns!X-Very-Very-Very-Long-Header-Names�Die Mieter treten hier ein werden mit einem Foerderband komfortabel den Korridor entlang, an s�dl�ndischen Wandgem�lden vorbei, gegen die rotierenden Klingen bef�rdert. s
iso-8859-1R�s=?iso-8859-1?q?Die_Mieter_treten_hier_?=
 =?iso-8859-1?q?ein_werden_mit_einem_Foerderband_komfortabel_den_Korridor_?=
 =?iso-8859-1?q?entlang=2C_an_s=FCdl=FCndischen_Wandgem=E4lden_vorbei=2C_g?=
 =?iso-8859-1?q?egen_die_rotierenden_Klingen_bef=F6rdert=2E_?=(R8RR�(R1REtfntgsR�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_long_field_nameFs	cCsId}t�}t|dd�|d<||d<|j|j�d�dS(Ns�from FOO.TLD (vizworld.acl.foo.tld [123.452.678.9]) by hrothgar.la.mastaler.com (tmda-ofmipd) with ESMTP; Wed, 05 Mar 2003 18:10:18 -0700R�s	s
Received-1s
Received-2s1Received-1: from FOO.TLD (vizworld.acl.foo.tld [123.452.678.9]) by
	hrothgar.la.mastaler.com (tmda-ofmipd) with ESMTP;
	Wed, 05 Mar 2003 18:10:18 -0700
Received-2: from FOO.TLD (vizworld.acl.foo.tld [123.452.678.9]) by
 hrothgar.la.mastaler.com (tmda-ofmipd) with ESMTP;
 Wed, 05 Mar 2003 18:10:18 -0700

(RRRCRh(R1R�R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_long_received_headerRs	
cCsOd}t�}t|dddd�|d<||d<|j|j�d�dS(Ns�<15975.17901.207240.414604@sgigritzmann1.mathematik.tu-muenchen.de> (David Bremner's message of "Thu, 6 Mar 2003 13:58:21 +0100")R�RR�s	sReceived: <15975.17901.207240.414604@sgigritzmann1.mathematik.tu-muenchen.de>
	(David Bremner's message of "Thu, 6 Mar 2003 13:58:21 +0100")
Received: <15975.17901.207240.414604@sgigritzmann1.mathematik.tu-muenchen.de>
 (David Bremner's message of "Thu, 6 Mar 2003 13:58:21 +0100")

(RRR8Rh(R1R�R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_string_headerinst_eqas	

cCsO|j}t�}d}||d<t|dd�|d<||j�d�dS(Ns� iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEUAAAAkHiJeRUIcGBi9
 locQDQ4zJykFBAXJfWDjAAACYUlEQVR4nF2TQY/jIAyFc6lydlG5x8Nyp1Y69wj1PN2I5gzpsFace-1R�sFace-2s7Face-1: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEUAAAAkHiJeRUIcGBi9
 locQDQ4zJykFBAXJfWDjAAACYUlEQVR4nF2TQY/jIAyFc6lydlG5x8Nyp1Y69wj1PN2I5gzp
Face-2: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEUAAAAkHiJeRUIcGBi9
 locQDQ4zJykFBAXJfWDjAAACYUlEQVR4nF2TQY/jIAyFc6lydlG5x8Nyp1Y69wj1PN2I5gzp

(R8RRRh(R1RER<tt((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt-test_long_unbreakable_lines_with_continuationos		
cCs5|j}d}tj|�}||j�d�dS(Ns�Received: from siimage.com ([172.25.1.3]) by zima.siliconimage.com with Microsoft SMTPSVC(5.0.2195.4905);
 Wed, 16 Oct 2002 07:41:11 -0700s�Received: from siimage.com ([172.25.1.3]) by zima.siliconimage.com with
 Microsoft SMTPSVC(5.0.2195.4905); Wed, 16 Oct 2002 07:41:11 -0700

(R8R9R�Rh(R1REtmR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt"test_another_long_multiline_headers
	cCsO|j}d}t�}||d<t|dd�|d<||j�d�dS(Ns�List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/spamassassin-talk>,
        <mailto:spamassassin-talk-request@lists.sourceforge.net?subject=unsubscribe>tListR�sQList: List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/spamassassin-talk>,
 <mailto:spamassassin-talk-request@lists.sourceforge.net?subject=unsubscribe>
List: List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/spamassassin-talk>,
 <mailto:spamassassin-talk-request@lists.sourceforge.net?subject=unsubscribe>

(R8RRRh(R1RER�R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt%test_long_lines_with_different_header�s		
(R>R?R�R�RRRRR
RRRRRRRRRRRRR R"(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR�]s*			+			
						
			
								tTestFromManglingcBs,eZd�Zd�Zd�Zd�ZRS(cCs-t�|_d|jd<|jjd�dS(Nsaaa@bbb.orgR�s(From the desk of A.A.A.:
Blah blah blah
(RR<RP(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pytsetUp�s
	cCsEt�}t|dt�}|j|j�|j|j�d�dS(Ntmangle_from_s<From: aaa@bbb.org

>From the desk of A.A.A.:
Blah blah blah
(RR	RlRmR<RCR0(R1R�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_mangled_from�s
	cCsEt�}t|dt�}|j|j�|j|j�d�dS(NR%s;From: aaa@bbb.org

From the desk of A.A.A.:
Blah blah blah
(RR	RnRmR<RCR0(R1R�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_dont_mangle_from�s
	cCs�t�}t|dt�}tjtjd��}|j|�|jt	g|j
�jd�D]}|jd�r_d^q_�d�dS(NR%s)            From: foo@bar.com
            Mime-Version: 1.0
            Content-Type: multipart/mixed; boundary=XXX

            From somewhere unknown

            --XXX
            Content-Type: text/plain

            foo

            --XXX--

            From somewhere unknowable
            s
s>From ii(
RR	RlR9R�ttextwraptdedentRmRCtlenR0R�R�(R1R�R�R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt'test_mangle_from_in_preamble_and_epilog�s	
%(R>R?R$R&R'R+(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR#�s			t
TestMIMEAudiocBs5eZd�Zd�Zd�Zd�Zd�ZRS(cCsstjjtjjt�dd�}ttd|�d�}z|j�|_Wd|j	�Xt
|j�|_dS(NRRsaudiotest.autrb(R R!R"R#R$R%RRjt
_audiodataR;Rt_au(R1tdatadirR7((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR$�s$cCs|j|jj�d�dS(Nsaudio/basic(RCR/RK(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_guess_minor_type�scCs/|jj�}|jtj|�|j�dS(N(R/RVRCR�tdecodestringR.(R1tpayload((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt
test_encoding�scCs,t|jd�}|j|j�d�dS(Ntfishs
audio/fish(RR.RCRK(R1tau((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_checkSetMinor�scCs|j}|jjdddd�||jdd�||jjdd�dd
g�||jjddd�d�g}||jjddd�d�|j|jjd	d
|dd�|�|j|jjd|�|�|j|jjd|dd�|�dS(NsContent-DispositionR�R&saudiotest.auscontent-dispositions#attachment; filename="audiotest.au"ReRRxtfailobjtfoobar(R�R(R&saudiotest.au(RCR/R�R�RLtassertIs(R1REtmissing((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_add_header�s 	


(R>R?R$R1R4R7R<(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR,�s
				t
TestMIMEImagecBs5eZd�Zd�Zd�Zd�Zd�ZRS(cCsCtd�}z|j�|_Wd|j�Xt|j�|_dS(NsPyBanner048.gif(R(Rjt_imgdataR;Rt_im(R1R7((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR$s
cCs|j|jj�d�dS(Ns	image/gif(RCR?RK(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR1scCs/|jj�}|jtj|�|j�dS(N(R?RVRCR�R2R>(R1R3((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR4scCs,t|jd�}|j|j�d�dS(NR5s
image/fish(RR>RCRK(R1tim((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR7scCs|j}|jjdddd�||jdd�||jjdd�dd
g�||jjddd�d�g}||jjddd�d�|j|jjd	d
|dd�|�|j|jjd|�|�|j|jjd|dd�|�dS(NsContent-DispositionR�R&sdingusfish.gifscontent-dispositions%attachment; filename="dingusfish.gif"ReRRxR8R9(R�R(R&sdingusfish.gif(RCR?R�R�RLR:(R1RER;((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR<s 	


(R>R?R$R1R4R7R<(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR=s
				tTestMIMETextcBsPeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(cCstd�|_dS(Nshello there(R
t_msg(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR$1scCs�|j}||jj�d�||jjd�d�g}|j|jjd|�|�|j|jjd|dd�|�dS(Ns
text/plainRGsus-asciiR9Re(RCRBRKRLR:(R1RER;((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt
test_types4s	cCs3|j|jj�d�|j|jj��dS(Nshello there(RCRBRVR�tis_multipart(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_payload=scCsF|j}tddd�}||j�jd�||dd�dS(Nshello thereR�sus-asciiscontent-typestext/plain; charset="us-ascii"(RCR
RHRM(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_charsetAs	cCsF|j}tddd�}||j�jd�||dd�dS(Nuhello thereR�sus-asciiscontent-typestext/plain; charset="us-ascii"(RCR
RHRM(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_7bit_unicode_inputGs	cCsS|j}td�}||j�d�||dd�|jd|j��dS(Nuhello theresus-asciiscontent-typestext/plain; charset="us-ascii"shello there(RCR
RHR�Rh(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt"test_7bit_unicode_input_no_charsetMs
	cCsnd}|j}t|dd�}||j�jd�||dd�||jdt�|jd��dS(NuкирилицаR�sutf-8scontent-typestext/plain; charset="utf-8"Rt(RCR
RHtoutput_charsetRVRlR�(R1tteststrRER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_8bit_unicode_inputTs	cCsd}|jtt|�dS(Nuкирилица(RctUnicodeEncodeErrorR
(R1RJ((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt"test_8bit_unicode_input_no_charset\s(
R>R?R$RCRERFRGRHRKRM(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyRA0s								t
TestMultipartcBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�ZRS(cCsVtd�}z|j�}Wd|j�Xtdddd�}t|dd�}|jdd	d
d�td�}|j|�|j|�d|d
<d|d<d|d<d}tj	|�}|ddkr�tj
}n	tj}|dkr�d}	nd}	d|	|df}
tjdtj	|��|
|d<||_
||_||_dS(NsPyBanner048.gift	multiparttmixedR�R]R�sdingusfish.gifscontent-dispositionR�R&s$Hi there,

This is the dingus fish.
sBarry <barry@digicool.com>R�s)Dingus Lovers <cravindogs@cravindogs.com>R�sHere is your dingus fishR�g�4F�cp�Ai����it-t+s %s%04di$s%a, %d %b %Y %H:%M:%StDate(R(RjR;RRR�R
tattachttimet	localtimettimezonetaltzonetstrftimeRBR?t_txt(R1R7Rt	containertimagetintrotnowt	timetuplettzsecstsignttzoffset((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR$ds<	




				cCs�|j}|j}|j}|j|j��||j�d�|t|j��d�|t|jd�|jd�}|jd�}|j	||j
�|j	||j�||j�||g�|j|j��|j|j��dS(Nsmultipart/mixediii(
RCRcRBR�RDRKR*RVt
IndexErrorR:RZR?R�(R1REtraisesRtm0tm1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_hierarchy�s			cCs2d}t�j|�}|j||j��dS(Ns�Content-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain


--BOUNDARY


--BOUNDARY--
(RRkR8Rh(R1R�R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_empty_multipart_idempotent�s
cCsTtdd�}d|d<d|d<d|d<|jd	�|j|j�d
�dS(NRORPs	A subjectR�saperson@dom.ainR�sbperson@dom.ainR�R]s�Content-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain

--BOUNDARY

--BOUNDARY--
(RR`R8Rh(R1touter((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt/test_no_parts_in_a_multipart_with_none_epilogue�s




cCsftdd�}d|d<d|d<d|d<d	|_d	|_|jd
�|j|j�d�dS(NRORPs	A subjectR�saperson@dom.ainR�sbperson@dom.ainR�RR]s�Content-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain


--BOUNDARY

--BOUNDARY--
(RtpreambletepilogueR`R8Rh(R1Ri((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt0test_no_parts_in_a_multipart_with_empty_epilogue�s


		
cCss|j}tdd�}d|d<d|d<d|d<|jd	�td
�}|j|�||j�d�dS(NRORPs	A subjectR�saperson@dom.ainR�sbperson@dom.ainR�R]shello worldsContent-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

hello world
--BOUNDARY--
(R8RR`R
RTRh(R1RERiR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_one_part_in_a_multipart�s	




cCs||j}tdd�}d|d<d|d<d|d<d	|_td
�}|j|�|jd�||j�d�dS(
NRORPs	A subjectR�saperson@dom.ainR�sbperson@dom.ainR�Rshello worldR]sContent-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain


--BOUNDARY
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

hello world
--BOUNDARY--
(R8RRkR
RTR`Rh(R1RERiR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt1test_seq_parts_in_a_multipart_with_empty_preamble�s	


	

cCs||j}tdd�}d|d<d|d<d|d<d|_td	�}|j|�|jd
�||j�d�dS(NRORPs	A subjectR�saperson@dom.ainR�sbperson@dom.ainR�shello worldR]sContent-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

hello world
--BOUNDARY--
(R8RRIRkR
RTR`Rh(R1RERiR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt0test_seq_parts_in_a_multipart_with_none_preambles	


	

cCs||j}tdd�}d|d<d|d<d|d<d|_td	�}|j|�|jd
�||j�d�dS(NRORPs	A subjectR�saperson@dom.ainR�sbperson@dom.ainR�shello worldR]sContent-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

hello world
--BOUNDARY--
(R8RRIRlR
RTR`Rh(R1RERiR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt0test_seq_parts_in_a_multipart_with_none_epilogue&s	


	

cCs||j}tdd�}d|d<d|d<d|d<d	|_td
�}|j|�|jd�||j�d�dS(
NRORPs	A subjectR�saperson@dom.ainR�sbperson@dom.ainR�Rshello worldR]sContent-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

hello world
--BOUNDARY--
(R8RRlR
RTR`Rh(R1RERiR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt1test_seq_parts_in_a_multipart_with_empty_epilogueAs	


	

cCs||j}tdd�}d|d<d|d<d|d<d	|_td
�}|j|�|jd�||j�d�dS(
NRORPs	A subjectR�saperson@dom.ainR�sbperson@dom.ainR�s
shello worldR]sContent-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain

--BOUNDARY
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

hello world
--BOUNDARY--

(R8RRlR
RTR`Rh(R1RERiR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt.test_seq_parts_in_a_multipart_with_nl_epilogue\s	


	

cCs�|j}|jd�}|t|j��d�|jd�}||j�d�|t|j��d�xb|j�D]T}||j�d�|t|j��d�|jd�}||j�d�qyWdS(Ns
msg_36.txtiismultipart/alternativesmessage/external-bodyis
text/plain(RCR=R*RVRK(R1RER<tmsg1RZt
subsubpart((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_message_external_bodyws	cCs/|jd�}|jt|j��d�dS(Ns
msg_37.txti(R=RCR*RV(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_double_boundary�scCsH|j}|jd�}t�}tj||�||j�d�dS(Ns
msg_38.txts�multipart/mixed
    multipart/mixed
        multipart/alternative
            text/plain
        text/plain
    text/plain
    text/plain
(R8R=RRt
_structureR0(R1RER<R~((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt)test_nested_inner_contains_outer_boundary�s		cCsH|j}|jd�}t�}tj||�||j�d�dS(Ns
msg_39.txts�multipart/mixed
    multipart/mixed
        multipart/alternative
        application/octet-stream
        application/octet-stream
    text/plain
(R8R=RRRxR0(R1RER<R~((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_nested_with_same_boundary�s		cCs)|jd�}|j|j�d�dS(Ns
msg_40.txts�MIME-Version: 1.0
Content-Type: text/html; boundary="--961284236552522269"

----961284236552522269
Content-Type: text/html;
Content-Transfer-Encoding: 7Bit

<html></html>

----961284236552522269--
(R=RCRh(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_boundary_in_non_multipart�scCs[|j}tjd�}|j|j��||j�d�|t|j��d�dS(Ns�MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="    XXXX"

--    XXXX
Content-Type: text/plain


--    XXXX
Content-Type: text/plain

--    XXXX--
s    XXXXi(RCR9R�R�RDR^R*RV(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt test_boundary_with_leading_space�s		cCs5t�jd�}|j|jd�j�d�dS(Ns�Content-Type: multipart/mixed; boundary="===============0012394164=="
MIME-Version: 1.0

--===============0012394164==
Content-Type: image/file1.jpg
MIME-Version: 1.0
Content-Transfer-Encoding: base64

YXNkZg==
--===============0012394164==--isYXNkZg==(RRkRCRV(R1R((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt&test_boundary_without_trailing_newline�s	
	(R>R?R$RgRhRjRmRnRoRpRqRrRsRvRwRyRzR{R|R}(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyRNcs$	(											
					tTestNonConformantcBsYeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
RS(	cCsU|j}|jd�}||j�d�||j�d�||j�d�dS(Ns
msg_14.txts
text/plainR�R�(RCR=RKR�R�(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_parse_missing_minor_type�s
	cCsk|jd�}|jd�}|jt|d��|jt|j�d�|j|jdtj	�dS(Ns
msg_15.txtitdefectsi(
R=RVR�thasattrRCR*R�tassertIsInstanceRtStartBoundaryNotFoundDefect(R1R<tinner((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_same_boundary_inner_outer�scCsv|jd�}|j|j�t�|jt|j�d�|j|jdtj�|j|jdtj	�dS(Ns
msg_25.txtiii(
R=R�RVR*RCR*R�RtNoBoundaryInMultipartDefectt!MultipartInvariantViolationDefect(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_multipart_no_boundary�s
cCs�|j}|j}t�}d|d<||j�d�||j�d�||j�d�|d=d|d<||j�d�||j�d�||j�d�t�}t|�}|j|�||j	�d�dS(NR�sContent-TypeR�s
text/plainscontent-typeRxsContent-Type: foo

(
RCR8RR�R�RKRR	RmR0(R1REtneqR<R�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_invalid_content_type�s 			

	
cCs/|j}|jd�}||j�d�dS(Ns
msg_31.txtsm--BOUNDARY
Content-Type: text/plain

message 1

--BOUNDARY
Content-Type: text/plain

message 2

--BOUNDARY--
(R8R=RV(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_no_start_boundarys	cCs/|j}|jd�}||j�d�dS(Ns
msg_35.txts�From: aperson@dom.ain
To: bperson@dom.ain
Subject: here's something interesting

counter to RFC 2822, there's no separating newline here
(R8R=Rh(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_no_separating_blank_line"s	cCsv|jd�}|jt|d��|jt|j�d�|j|jdtj�|j|jdtj	�dS(Ns
msg_41.txtR�iii(
R=R�R�RCR*R�R�RR�R�(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_lying_multipart-s
cCs^|jd�}|jd�jd�}|jt|j�d�|j|jdtj�dS(Ns
msg_42.txtii(R=RVRCR*R�R�RR�(R1Ritbad((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_missing_start_boundary6s
	cCs�|j}d}tj|�}||j�g�||j�d�|t|j�d�|j|jdtj	�||jdj
d�dS(Ns Line 1
Line 2
Line 3s
Line 2
Line 3iis Line 1
(RCR9R�R�RVR*R�R�Rt#FirstHeaderLineIsContinuationDefecttline(R1RERR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt&test_first_line_is_continuation_headerEs	
(R>R?RR�R�R�R�R�R�R�R�(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR~�s											tTestRFC2047cBsGeZd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cCsQ|j}d}t|�}||ddd	d
g�|tt|��d�dS(NsVRe: =?mac-iceland?q?r=8Aksm=9Arg=8Cs?= baz
 foo bar =?mac-iceland?q?r=8Aksm=9Arg=8Cs?=sRe:s
r�ksm�rg�ssmac-icelandsbaz foo barsVRe: =?mac-iceland?q?r=8Aksm=9Arg=8Cs?= baz foo bar
 =?mac-iceland?q?r=8Aksm=9Arg=8Cs?=(sRe:N(s
r�ksm�rg�ssmac-iceland(sbaz foo barN(s
r�ksm�rg�ssmac-iceland(RCRRIR*R(R1RER�tdh((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_rfc2047_multilineUs	
cCsZ|j}d}t|�}||ddg�tt|��jd�}||d�dS(	Ns0=?ISO-8859-1?Q?Andr=E9?= Pirard <pirard@dom.ain>sAndr�s
iso-8859-1sPirard <pirard@dom.ain>slatin-1sAndr� Pirard <pirard@dom.ain>(sAndr�s
iso-8859-1(sPirard <pirard@dom.ain>N(RCRRItunicodeRR�(R1RER�R�thu((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_whitespace_eater_unicodecs	cCsW|j}d}t|�}||dd	d
dg�t|�j�}||d�dS(NsWThe =?iso-8859-1?b?cXVpY2sgYnJvd24gZm94?= jumped over the =?iso-8859-1?b?bGF6eSBkb2c=?=tThesquick brown foxs
iso-8859-1sjumped over theslazy dogu,The quick brown fox jumped over the lazy dog(R�N(squick brown foxs
iso-8859-1(sjumped over theN(slazy dogs
iso-8859-1(RCRRIRt__unicode__(R1RER�R�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_whitespace_eater_unicode_2ks	
cCs/d}t|�}|j||dfg�dS(Ns3Sm=?ISO-8859-1?B?9g==?=rg=?ISO-8859-1?B?5Q==?=sbord(RRCRI(R1R�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_rfc2047_without_whitespacetscCs5d}t|�}|j|dd	d
ddg�dS(
Ns7Sm =?ISO-8859-1?B?9g==?= rg =?ISO-8859-1?B?5Q==?= sbordtSms�s
iso-8859-1trgs�tsbord(R�N(s�s
iso-8859-1(R�N(s�s
iso-8859-1(R�N(RRCRI(R1R�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_rfc2047_with_whitespaceys
cCs_d}d
ddd
dg}x=|D]5\}}t||�}|j||d	fg�q"WdS(Ns=?iso-8859-1?B?%s?=sdm==tvsdm=tdmsdmk=tvitdmks
iso-8859-1(sdm==R�(sdm=R�(R�R�(sdmk=R�(R�R�(RRC(R1R�RtqtaR�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_rfc2047_B_bad_padding�s	cCs#d}|jt|�dg�dS(Ns=?iso-8859-1?Q?andr=e9=zz?=sandr�=zzs
iso-8859-1(sandr�=zzs
iso-8859-1(RCR(R1R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_rfc2047_Q_invalid_digits�s(	R>R?R�R�R�R�R�R�R�(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR�Ts							
tTestMIMEMessagecBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�ZRS(cCs1td�}z|j�|_Wd|j�XdS(Ns
msg_11.txt(R(Rjt_textR;(R1R7((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR$�scCs|jttd�dS(Nsa plain string(Rct	TypeErrorR(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_type_error�scCs�|j}d}t�}||d<t|�}||j�d�|j�}|j|t�|t|�d�|d}|j||�||d|�dS(Ns
A sub-messageR�smessage/rfc822iitsubject(	RCRRRKRVR�tlistR*R:(R1RER�RRR3RZ((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_valid_argument�s		

cCsX|j}t�}d|d<t�}d|d<t|�}|jtj|j|�dS(Ns	subpart 1R�s	subpart 2(RCRRRcRtMultipartConversionErrorRT(R1RERttmsg2R((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_bad_multipart�s		
	
cCsrt�}d|d<|jd�t|�}d|d<t�}t|�}|j|�|j|j�d�dS(NsAn enclosed messageR�s!Here is the body of the message.
sThe enclosing messages�Content-Type: message/rfc822
MIME-Version: 1.0
Subject: The enclosing message

Subject: An enclosed message

Here is the body of the message.
(RRPRRR	RmRCR0(R1RRR�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt
test_generate�s	


	
cCs�|j}|jd�}||j�d�|j�}|j|t�|t|�d�|d}|j|t�||dd�||j�d�dS(Ns
msg_11.txtsmessage/rfc822iiR�sAn enclosed messages!Here is the body of the message.
(RCR=RKRVR�R�R*R(R1RER<R3tsubmsg((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_parse_message_rfc822�s	
cCs-|j}|jd�}||j�d�|j|j��|t|j��d�|jd�}||j�d�||j�d�|jd�}||j�d�|t|j��d	�|jd�}|j|t�||d
d�||j	dd
d�d�||j	dd
d�d�|jd�}|j|t�||dd�||jd
d�ddg�||j	dd
d�d�|jd	�}||j�d�|j�}|j|t�|t|�d�|d}|j|t�||j�d�||dd�dS(Ns
msg_16.txtsmultipart/reportiis
text/plains�This report relates to a message you sent with the following header fields:

  Message-id: <002001c144a6$8752e060$56104586@oxy.edu>
  Date: Sun, 23 Sep 2001 20:10:55 -0700
  From: "Ian T. Henry" <henryi@oxy.edu>
  To: SoCal Raves <scr@socal-raves.org>
  Subject: [scr] yeah for Ians!!

Your message cannot be delivered to the following recipients:

  Recipient address: jangel1@cougar.noc.ucla.edu
  Reason: recipient reached disk quota

ismessage/delivery-statusisoriginal-envelope-ids"0GK500B4HD0888@cougar.noc.ucla.edutdnsRes
reporting-mtaRtnsdtactiontfailedsoriginal-recipientR�sjangel1@cougar.noc.ucla.edusfinal-recipientsmessage/rfc822s
message-ids(<002001c144a6$8752e060$56104586@oxy.edu>(R�R(sjangel1@cougar.noc.ucla.eduR(
RCR=RKR�RDR*RVR�RRLRIR�R�(R1RER<RZtdsn1tdsn2R3Ru((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_dsn�sB	


c	Cs�|j}td�}z|j�}Wd|j�Xt�}d|d<d|d<d|d<d|_d	|_td
�}td�}|jdd
dd�|j	|�|j	|�t
�}t|�}|j|�||j
�|�dS(Ns
msg_21.txtsaperson@dom.ainR�sbperson@dom.ainR�R	R�sMIME messagesEnd of MIME message
R�R�sContent-Typesmultipart/mixedR�R](R8R(RjR;RRkRlR
R�RTRR	RmR0(	R1RER7R�R<RtR�R~R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt
test_epilogue
s(		


		

	
cCs�|j}t�}d|d<d|d<d|d<d|_d|_td	�}td
�}|jddd
d�|j|�|j|�||j�d�dS(Nsaperson@dom.ainR�sbperson@dom.ainR�R	R�sMIME messageRR�R�sContent-Typesmultipart/mixedR�R]sdFrom: aperson@dom.ain
To: bperson@dom.ain
Subject: Test
Content-Type: multipart/mixed; boundary="BOUNDARY"

MIME message
--BOUNDARY
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

One
--BOUNDARY
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Two
--BOUNDARY--
(R8RRkRlR
R�RTRh(R1RER<RtR�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_no_nl_preamble$s		


		

cCs|j}td�}ztj|�}Wd|j�X|jd�}||j�d�||j�d�|jd�}||j�d�||j�d�|jd�}||j�d�||j�d�|jd�}||j�d�||j�d�dS(Ns
msg_30.txtismessage/rfc822is
text/plain(RCR(R9R:R;RVtget_default_typeRK(R1RER7R<t
container1t
container2tcontainer1atcontainer2a((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_default_typeGs"	cCs|j}td�}ztj|�}Wd|j�X|jd�}||j�d�||j�d�|jd�}||j�d�||j�d�|jd�}||j�d�||j�d�|jd�}||j�d�||j�d�dS(Ns
msg_28.txtismessage/rfc822is
text/plain(RCR(R9R:R;RVR�RK(R1RER7R<R�R�R�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt.test_default_type_with_explicit_container_type[s"	cCsX|j}|j}tdd�}d|_td�}td�}t|�}t|�}|j|�|j|�||j�d�||j�d�||j�d�||j�d�||j	d�d�|d	=|d
=|d	=|d
=||j�d�||j�d�||j�d�||j�d�||j	d�d�dS(NtdigestR]Rs
message 1
s
message 2
smessage/rfc822is�Content-Type: multipart/digest; boundary="BOUNDARY"
MIME-Version: 1.0

--BOUNDARY
Content-Type: message/rfc822
MIME-Version: 1.0

Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

message 1

--BOUNDARY
Content-Type: message/rfc822
MIME-Version: 1.0

Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

message 2

--BOUNDARY--
scontent-typesmime-versionsBContent-Type: multipart/digest; boundary="BOUNDARY"
MIME-Version: 1.0

--BOUNDARY

Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

message 1

--BOUNDARY

Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

message 2

--BOUNDARY--
(
RCR8RRlR
RRTRKR�Rh(R1RER�R[t	subpart1at	subpart2atsubpart1tsubpart2((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_default_type_non_parsedos4			

cCs|j}td�}td�}td||f�}|t|j��d�||jd�|�||jd�|�dS(NRt	_subpartsiii(RCR
RR*RV(R1REttext1ttext2R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt$test_mime_attachments_in_constructor�s	cCs t�}|j|j��dS(N(RR�RD(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt"test_default_multipart_constructor�s	(R>R?R$R�R�R�R�R�R�R�R�R�R�R�R�R�(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR��s								9		#			J		tTestIdempotentcBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cCsCt|�}z|j�}Wd|j�Xtj|�}||fS(N(R(RjR;R9R�(R1R&R7RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR=�scCsH|j}t�}t|dd�}|j|�|||j��dS(Ntmaxheaderleni(R8RR	RmR0(R1R<R�RER�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt_idempotent�s
		
cCs�|j}|jd�\}}||j�d�||j�d�||j�d�||j�dd�||jd�d�||jd�||j	d�|j
||�dS(	Ns
msg_01.txts
text/plainR�R�iRGsus-ascii(RGsus-ascii(RCR=RKR�R�R�RLRkRIRlR�(R1RER<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_parse_text_message�s	cCsn|j}|jd�\}}||j�d�||j�d�||jd�d�|j||�dS(Ns
msg_03.txts
text/plainRG(RCR=RKR�RIRLR�(R1RER<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_parse_untyped_message�s	cCs)|jd�\}}|j||�dS(Ns
msg_04.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_simple_multipart�scCs)|jd�\}}|j||�dS(Ns
msg_02.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_MIME_digest�scCs)|jd�\}}|j||�dS(Ns
msg_27.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_long_header�scCs)|jd�\}}|j||�dS(Ns
msg_28.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt"test_MIME_digest_with_part_headers�scCs)|jd�\}}|j||�dS(Ns
msg_06.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_mixed_with_imagescCs)|jd�\}}|j||�dS(Ns
msg_05.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_multipart_reportscCs)|jd�\}}|j||�dS(Ns
msg_16.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR�	scCs)|jd�\}}|j||�dS(Ns
msg_21.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_preamble_epilogue
scCs)|jd�\}}|j||�dS(Ns
msg_23.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_multipart_one_partscCs)|jd�\}}|j||�dS(Ns
msg_24.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_multipart_no_partsscCs)|jd�\}}|j||�dS(Ns
msg_31.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR�scCs)|jd�\}}|j||�dS(Ns
msg_32.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_rfc2231_charsetscCs)|jd�\}}|j||�dS(Ns
msg_33.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_more_rfc2231_parameters!scCs)|jd�\}}|j||�dS(Ns
msg_34.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt%test_text_plain_in_a_multipart_digest%scCs)|jd�\}}|j||�dS(Nsmsg_12a.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_nested_multipart_mixeds)scCs)|jd�\}}|j||�dS(Ns
msg_36.txt(R=R�(R1R<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt%test_message_external_body_idempotent-scCs�|j}|jd�\}}||j�d�i}x$|j�D]\}}|||<qDW||dd�||dd�||jd�||jd�|t|j��d	�|jd
�}||j�d�||j�d�|jd
�}||j�d�||j�d�|jd�}	||	j�d�|j|	t	�|	j�}
|j|
t
�|t|
�d
�|
d
}|j|t	�||j�d�dS(Ns
msg_05.txtsmultipart/reportsreport-typesdelivery-statusR�s%D1690A7AC1.996856090/mail.example.coms%This is a MIME-encapsulated message.
s
iis
text/plainsYadda yadda yadda
iismessage/rfc822(RCR=RKR�RkRlR*RVR�RR�(R1RER<R�tparamstpktpvRtR�tmsg3R3tmsg4((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_content_type1s4	
cCs�|j}|jd�\}}||j�d�|j�}|j|t�|t|�d�|d}|j|t�||j�d�|j|j�t�||j�d�dS(Ns
msg_06.txtsmessage/rfc822iis
text/plains
(	RCR=RKRVR�R�R*RR*(R1RER<R�R3Rt((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_parserPs	
(R>R?R=R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR��s,																						tTestMiscellaneouscBsCeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$RS(#cCs{td�}z|j�}Wd|j�Xtj|�}t�}t|dd�}|j|�|j||j	��dS(Ns
msg_01.txtR�i(
R(RjR;R9R�RR	RmRCR0(R1R7R�R<R�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_message_from_stringds	
cCs�td�}zj|j�}|jd�tj|�}t�}t|dd�}|j|�|j||j	��Wd|j
�XdS(Ns
msg_01.txtiR�(R(RjtseekR9R:RR	RmRCR0R;(R1R7R�R<R�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_message_from_filers
	
cCs�td�}z|j�}Wd|j�Xdtfd��Y}tj||�}|j||�td�}z|j�}Wd|j�Xtj||�}x$|j�D]}|j||�q�WdS(Ns
msg_01.txtt	MyMessagecBseZRS((R>R?(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR��ss
msg_02.txt(R(RjR;RR9R�R�twalk(R1R7R�R�R<RZ((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt#test_message_from_string_with_class�scCs�dtfd��Y}td�}ztj||�}Wd|j�X|j||�td�}ztj||�}Wd|j�Xx$|j�D]}|j||�q�WdS(NR�cBseZRS((R>R?(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR��ss
msg_01.txts
msg_02.txt(RR(R9R:R;R�R�(R1R�R7R<RZ((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt!test_message_from_file_with_class�sc"Cs�td�}|j}|j�|j|dddddddd	d
ddd
ddddddddddddddddddd d!g �dS("NR9RRRR	RRRRRRRtMIMENonMultipartR
RRRRt
base64mimeRGtencodersterrorst	generatorRet	iteratorsR�R:R�tmimeRpRt
quoprimimetutils(t
__import__t__all__tsortRC(R1tmoduletall((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest__all__�s	
					cCsCtj�}|jtjtj|��d tj|�d �dS(Ni(RURCRt	parsedatet
formatdatetgmtime(R1R^((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_formatdate�scCsItj�}|jtjtj|dt��d tj|�d �dS(NRVi(RURCRRRRlRV(R1R^((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_formatdate_localtime�scCs~tj�}|jtj|dt�tjdtj|���|jtj|dtdt�tjdtj|���dS(NRVs%a, %d %b %Y %H:%M:%S -0000tusegmts%a, %d %b %Y %H:%M:%S GMT(RURCRRRnRYRRl(R1R^((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_formatdate_usegmt�scCs|jtjd�d�dS(NR(RCRRRI(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_parsedate_none�scCs&|jtjd�tjd��dS(NsWed,3 Apr 2002 14:58:26 +0800sWed, 3 Apr 2002 14:58:26 +0800(RCRR(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_parsedate_compact�scCs#|j}|tjd�d�dS(
Ns25 Feb 2003 13:47:26 -0800i�iii
i/iiii����i����(
i�iii
i/iiii����i����(RCRtparsedate_tz(R1RE((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_parsedate_no_dayofweek�s	cCs#|j}|tjd�d�dS(
Ns5 Feb 2003 13:47:26 -0800i�iii
i/iiii����i����(
i�iii
i/iiii����i����(RCRR(R1RE((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt#test_parsedate_compact_no_dayofweek�s	cCs�|j}tjd�}ttj|��}|tj|�d |d �|ttjd|��d�tjd�}ttj|d ��}|tj|�d |d �|ttjd|d ��d�dS(Ns5 Feb 2003 13:47:26 -0800is%Yi�i	(	RCRRtintRUtmktimeRVRYR(R1REttimetupR((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt+test_parsedate_acceptable_to_time_functions�s	cCs6|jtjd�d�|jtjd�d�dS(	Ni�iii����i�i.���(
i�iiiiii����i����i����i(
i�iiiiii����i����i����i�(RCRt	mktime_tz(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_mktime_tz�s
cCsH|jtjd�tjd��|jtjd�tjd��dS(sTest for parsing a date with a two-digit year.

        Parsing a date with a two-digit year should return the correct
        four-digit year. RFC822 allows two-digit years, but RFC2822 (which
        obsoletes RFC822) requires four-digit years.

        s25 Feb 03 13:47:26 -0800s25 Feb 2003 13:47:26 -0800s25 Feb 71 13:47:26 -0800s25 Feb 1971 13:47:26 -0800N(RCRR(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_parsedate_y2k�scCs?|jtjd�d�|jtjtjd��d�dS(Ns<>R(RR(RCRt	parseaddrt
formataddr(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_parseaddr_empty	scCsO|jtjd�d�|jtjd�d�|jtjd�d�dS(Nsa@b@cRsa@b.c@csa@172.17.0.1@c(RR(RR(RR(RCRR(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_parseaddr_multiple_domains	scCs|jtjd�d�dS(NsA Silly Personsperson@dom.ainsA Silly Person <person@dom.ain>(sA Silly Personsperson@dom.ain(RCRR(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_noquote_dump	scCsW|jtjd�d�d}d}|jtjtj||f��||f�dS(NsA (Very) Silly Personsperson@dom.ains*"A \(Very\) Silly Person" <person@dom.ain>sA \(Special\) Person(sA (Very) Silly Personsperson@dom.ain(RCRRR(R1R�tb((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_escape_dump	scCsW|jtjd�d�d}d}|jtjtj||f��||f�dS(NsArthur \Backslash\ Foobarsperson@dom.ains."Arthur \\Backslash\\ Foobar" <person@dom.ain>(sArthur \Backslash\ Foobarsperson@dom.ain(RCRRR(R1R�R((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_escape_backslashes 	scCsyd}d}d\}}|jtj|�||f�|jtj|�||f�|jtj||f�|�dS(NsJohn X. Doe <jxd@example.com>s"John X. Doe" <jxd@example.com>sJohn X. Doesjxd@example.com(sJohn X. Doesjxd@example.com(RCRRR(R1R�tyR�R((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_name_with_dot(	scCsO|j}|tjd�d�|tjd�d�|tjd�d�dS(Ns""example" example"@example.comRs!"\"example\" example"@example.coms#"\\"example\\" example"@example.com(Rs""example" example"@example.com(Rs!"\"example\" example"@example.com(Rs#"\\"example\\" example"@example.com(RCRR(R1RE((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt2test_parseaddr_preserves_quoted_pairs_in_addresses1	s
	cCs#d}|jtj|�d�dS(NsFoo
	Bar <foo@example.com>sFoo Barsfoo@example.com(sFoo Barsfoo@example.com(RCRR(R1R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_multiline_from_commentC	scCs|jtjd�d�dS(NsA Silly; Personsperson@dom.ains""A Silly; Person" <person@dom.ain>(sA Silly; Personsperson@dom.ain(RCRR(R1((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_quote_dumpI	scCs{|j}|tjd�d�|tjd�d�|tjd�d�|tjd�d�|tjd�d�dS(Nthelloshello
shello
shello
shello

s	hello

(RCRtfix_eols(R1RE((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt
test_fix_eolsN	s	cCs�|j}|j}t�}t�}||d�||d�||d�|d|�|d|�|d|�||d�||d�||d�|d|�|d|�|d|�|||�|||�dS(Nsus-asciisUS-ASCIIsUs-AsCiItusasciitUSASCIItUsAsCiI(RCtassertNotEqualR(R1REtnetcset1tcset2((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_charset_richcomparisonsV	s$				












cCs/|j}|tjddg�ddg�dS(	Nsaperson@dom.ain (Al Person)sBud Person <bperson@dom.ain>s	Al Personsaperson@dom.ains
Bud Personsbperson@dom.ain(s	Al Personsaperson@dom.ain(s
Bud Personsbperson@dom.ain(RCRtgetaddresses(R1RE((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_getaddressesj	s
		cCsm|j}|tjdg�dg�|tjdg�d	d
dg�|tjddg�dd
g�dS(Nsfoo: ;Rs	[]*-- =~$s*--s#"Jason R. Mastaler" <jason@dom.ain>sJason R. Mastalers
jason@dom.ain(RR(RR(RR(Rs*--(RR(sJason R. Mastalers
jason@dom.ain(RCRR-(R1RE((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_getaddresses_nastyq	s				cCs4|j}tjdg�}||ddd�dS(s(Test proper handling of a nested comments%User ((nested comment)) <foo@bar.com>iisfoo@bar.comN(RCRR-(R1REtaddrs((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt"test_getaddresses_embedded_comment{	s	cCs�dtfd��Y}gtd�D]}|�^q#}t|��WdQXtg|D]}|j^qUg�}|jtt|��t|��dS(NtMsgidsThreadcBseZd�ZRS(cSs[g|_|jj}tj}tj}|�d}x |�|krV||��q7WdS(Ng@(tmsgidsR�Rt
make_msgidRU(R1R�R4tclockttfin((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pytrun�	s			
(R>R?R7(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR2�	si(RRRtsumR3RCR*tset(R1R2RtthreadsRtall_ids((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_make_msgid_collisions�	s"
%cCs?|j}t�}|jdddd�||j�d�dS(Nscontent-dispositionR�R&sfoo\wacky"name(RCRR�RW(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_utils_quote_unquote�	s
		cCs&td�}|j|j�d�dS(Ns
not a charsetR�(RRCtget_body_encoding(R1RG((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt)test_get_body_encoding_with_bogus_charset�	scCst|j}t�}d|d<||dd�|j�}|t|�d�||dd�t|d�}||j�d�|jdd	|�||j�d
�||jdt�d�||dd�t�}d
|d<|j�}|t|�d�||dd�t|d�}||j�t	j
�|jdd	|�||j�d�||dd�dS(Nstext/plain; charset=UTF-8sContent-Typescontent-typeiisutf-8R�shello worldRGsaGVsbG8gd29ybGQ=
Rtscontent-transfer-encodingstext/plain; charset="US-ASCII"sus-asciiR�(RCRRSR*RR>RPRVRlRtencode_7or8bit(R1RER<RTRG((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt-test_get_body_encoding_with_uppercase_charset�	s.		
	
cCs8td�}td�}|j|j�|j��dS(Nsus-asciisUS-ASCII(RRCR>(R1tlctuc((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_charsets_case_insensitive�	scCsH|j}|jd�}t�}tj||�||j�d�dS(Ns
msg_43.txtsBmultipart/report
    text/plain
    message/delivery-status
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
        text/plain
    text/rfc822-headers
(R8R=RRRxR0(R1RER<R~((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt1test_partial_falls_inside_message_delivery_status�	s		(%R>R?R�R�R�R�RRRRR	R
RR
RRRRRRRRRRR R!R$R,R.R/R1R<R=R?RARDRE(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR�csF																
														
						t
TestIteratorscBs5eZd�Zd�Zd�Zd�Zd�ZRS(cCs�|j}|j}|jd�}tj|�}t|�}|t|�d�|tj|�|j	��|jd�}tj|�}t|�}|t|�d�t
d�}z |tj|�|j��Wd|j�XdS(Ns
msg_01.txtis
msg_02.txti+s
msg_19.txt(
RCR8R=Rtbody_line_iteratorR�R*tEMPTYSTRINGR"RVR(RjR;(R1RER�R<titR�R7((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_body_line_iterator�	s		 cCs�|j}|jd�}tj|d�}g}d}x+|D]#}|d7}|j|j��q=W||d�|tj|�d�dS(Ns
msg_04.txtR�iiis`a simple kind of mirror
to reflect upon our own
a simple kind of mirror
to reflect upon our own
(RCR=Rttyped_subpart_iteratorR�RVRHR"(R1RER<RIR�tsubpartsRZ((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_typed_subpart_iterator
s	


cCs�|j}|jd�}tj|dd�}g}d}x+|D]#}|d7}|j|j��q@W||d�|tj|�d�dS(Ns
msg_03.txtR�R�iis%
Hi,

Do you like this message?

-Me
(RCR=RRKR�RVRHR"(R1RER<RIR�RLRZ((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt(test_typed_subpart_iterator_default_type
s	


c	Csddddddddg}dd
lm}m}|�}g}d}xu|D]m\}}|j|�||7}d}	x1t|j|�D]}
|j|
�|	d7}	q�W|j||	�qPW|jt|�|�|jdj	g|D]\}}|^q��dj	|��dS(s�FeedParser BufferedSubFile.push() assumed it received complete
           line endings.  A CR ending one push() followed by a LF starting
           the next push() added an empty line.
        sa
 
iRisc
iRsd
se
s
fs
i����(tBufferedSubFiletNeedMoreDataN(sa
 
i(Ri(sc
i(Ri(sd
i(se
i(s
fi(s
i(
temail.feedparserRORPtpushtitertreadlineR�RCR*R"(R1timtRORPtbsftomtnttiltntn1tol((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_pushCR_LF$
s,		


cs�ddlm}m}d}d}d�dj�fd�t|�D��d}|jt�}|�}g}xWtd	t|�|�D]=}	||	|	|!}
|j|
�|j	t
|j|��q�W|j||�dS(
Ni����(RORPi'isabcd 	
Rc3s|]}t��VqdS(N(R(t.0R(tchars(s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pys	<genexpr>I
ss
i(
RQRORPR"RR-RlR*RRtextendRSRTRC(R1RORPRZt	chunksizeR�ttargetRVR�Rtchunk((R_s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_push_randomB
s)	
(R>R?RJRMRNR]Rd(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyRF�	s
				tTestFeedParserscBs#eZd�Zd�Zd�ZRS(cCsAddlm}|�}x|D]}|j|�q W|j�S(Ni����(t
FeedParser(RQRftfeedR;(R1tchunksRft
feedparserRc((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pytparseW
s
	
cCs�|jdg�}|j|j�ddddg�|jdg�}|j|j�ddddg�|jddg�}|j|j�dd	g�|jd
dg�}|j|j�ddg�|jd
dg�}|j|j�ddg�dS(
Ns
a:
b:
c:
d:
R�Rtctdsa:
b:
c:
d:sa:
bsc:
tbcsa:
sb:
s
b:
(RjRCR�(R1R((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt
test_newlines^
s""cCsd\}}|jdgd|g|�}|j|j�dg�|j|j�d||�|jdgd|g|�}|j|j�d
g�|j|j�d||�|jdd	gd|g|�}|j|j�ddd||fg�dS(Ni�i Nsa:b

R�R�Rsa:b

sa:
sb: R(i�i N(R�R(R�R(R�R(RjRCRaRV(R1tMtNR((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_long_linesj
s!!$(R>R?RjRnRq(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyReU
s		tTestParserscBskeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZRS(cCs�|j}td�}zt�j|�}Wd|j�X||dd�||dd�||j�d�|j|j��|j|j	�t
�dS(Ns
msg_02.txtR�sppp-request@zzz.orgR�sppp@zzz.orgsmultipart/mixed(RCR(RRjR;RKR�RDR�RVR*(R1RER7R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_header_parserx
s	cCsQ|j}tjd�}||dd�||dd�||j�d�dS(Ns�From: aperson@dom.ain
To: bperson@dom.ain
Subject: the next line has a space on it
 
Date: Mon, 8 Apr 2002 15:09:19 -0400
Message-ID: spam

Here's the message body
R�s!the next line has a space on it
 s
message-idtspamsHere's the message body
(RCR9R�RV(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_whitespace_continuation�
s			cCsQ|j}tjd�}||dd�||dd�||j�d�dS(Ns�From: aperson@dom.ain
To: bperson@dom.ain
Date: Mon, 8 Apr 2002 15:09:19 -0400
Message-ID: spam
Subject: the next line has a space on it
 

Here's the message body
R�s!the next line has a space on it
 s
message-idRtsHere's the message body
(RCR9R�RV(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt(test_whitespace_continuation_last_header�
s			cCs�|j}tddd�}zt�j|�}Wd|j�X|t|j��d�|jd�}||j�d�||j�d�|jd�}||j�d	�dS(
Ns
msg_26.txtR'R-iis
text/plains!Simple email with attachment.

isapplication/riscos(RCR(RRjR;R*RVRK(R1RER7R<tpart1tpart2((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_crlf_separation�
s	c	Cs�|j}|j}td�}ztj|�}Wd|j�X||j�d�|t|j��d�|jd�}||j	�d�||j�d�|t|j��d�|jd�}||j�d�||j	�d�||j�d�|jd�}||j	�d�||j�d�|t|j��d�|jd�}||j�d�||j	�d�||j�d�dS(	Ns
msg_28.txtiiismessage/rfc822s
text/plains
message 1
s
message 2
(
RCR8R(R9R:R;RDR*RVRK(	R1RER�R7R<Rwtpart1aRxtpart2a((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt-test_multipart_digest_with_extra_mime_headers�
s0		cCs?dddg}tjtj|��}|j|dd�dS(Ns$From: Andrew Person <aperson@dom.ains
Subject: Tests%Date: Tue, 20 Aug 2002 16:43:45 +1000tdatesTue, 20 Aug 2002 16:43:45 +1000(R9R�R.R"RC(R1R�R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_three_lines�
s
	cCsd|j}d}d}d||f}tj|�}||jd�|�||jd�|�dS(NR�s	more texts'Header: %s
Next-Header: %s

Body

RsNext-Header(RCR9R�tget(R1REtvalue1tvalue2RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt3test_strip_line_feed_and_carriage_return_in_headers�
s	
cCsz|j}d}tj|�}|t|j��d�|j�}|j�||dddg�||j�d�dS(Ns(>From: foo
From: bar
!"#QUX;~: zoo

bodyis!"#QUX;~s>FromR�tbody(RCR9R�R*R�R�RV(R1RERR<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_rfc2822_header_syntax�
s	
cCs;|j}d}tj|�}|t|j��d�dS(Ns<>From foo@example.com 11:25:53
From: bar
!"#QUX;~: zoo

bodyi(RCR9R�R*R�(R1RERR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt(test_rfc2822_space_not_allowed_in_header�
s	cCsa|j}d}tj|�}|j�}|j�||dddg�||j�d�dS(Ns7A: first header
B: second header
CC: third header

bodytAtBtCCR�(RCR9R�R�R�RV(R1RERR<theaders((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt!test_rfc2822_one_character_header�
s	
cCs>d}tj|�}|j|jd�j�jd��dS(Ns�From: foo@bar.com
To: baz
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary=BOUNDARY

--BOUNDARY
Content-Type: text/plain

body ending with CRLF newline

--BOUNDARY--
is
(R9R�R�RVtendswith(R1RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_CRLFLF_at_end_of_parts(
R>R?RsRuRvRyR|R~R�R�R�R�R�(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyRrw
s					"			
			t
TestBase64cBs,eZd�Zd�Zd�Zd�ZRS(cCs�|j}|tjd�ttjddd���x�td�D]�}|dkr\d}nZ|dkrqd}nE|dkr�d	}n0|d
kr�d}n|dkr�d}nd
}|tjd|�|�qAWdS(NR"teolRiiiiiii	iiiR�(RCRt
base64_lenR*R�R(R1REtsizetbsize((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_lens 						cCsk|j}|tjd�d�|tjd�d�|tjdd�d�|tjdd�d�dS(NRsaGVsbG8=R"tXsaGVsbG8NCndvcmxk
thelloXworld(RCRRt(R1RE((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_decode(s
	cCs�|j}|tjd�d�|tjd�d�|tjd�d�|tjdd�d�|tjdd	d
d�d�|tjdd	d
dd
d�d�dS(NRR"s	aGVsbG8=
shello
s	aGVsbG8K
is
aGVsbG8NCg==
sxxxx iRi(s�eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IA==
R�s
s�eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IA==
(RCRR�(R1RE((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_encode/s	cCs�|j}tj}||d�d�||d�d�||ddd�d�||ddt�d	�||d
ddd
�d�||d
ddd
dd�d�dS(NR"s=?iso-8859-1?b?aGVsbG8=?=shello
worlds!=?iso-8859-1?b?aGVsbG8NCndvcmxk?=RGs
iso-8859-2s=?iso-8859-2?b?aGVsbG8=?=t	keep_eolss!=?iso-8859-1?b?aGVsbG8Kd29ybGQ=?=sxxxx iRi(s�=?iso-8859-1?b?eHh4eCB4eHh4IHh4eHggeHg=?=
 =?iso-8859-1?b?eHggeHh4eCB4eHh4IHh4eHg=?=
 =?iso-8859-1?b?IHh4eHggeHh4eCB4eHh4IHg=?=
 =?iso-8859-1?b?eHh4IHh4eHggeHh4eCB4eHg=?=
 =?iso-8859-1?b?eCB4eHh4IHh4eHggeHh4eCA=?=
 =?iso-8859-1?b?eHh4eCB4eHh4IHh4eHgg?=R�s
s=?iso-8859-1?b?eHh4eCB4eHh4IHh4eHggeHg=?=
 =?iso-8859-1?b?eHggeHh4eCB4eHh4IHh4eHg=?=
 =?iso-8859-1?b?IHh4eHggeHh4eCB4eHh4IHg=?=
 =?iso-8859-1?b?eHh4IHh4eHggeHh4eCB4eHg=?=
 =?iso-8859-1?b?eCB4eHh4IHh4eHggeHh4eCA=?=
 =?iso-8859-1?b?eHh4eCB4eHh4IHh4eHgg?=(RCRt
header_encodeRl(R1REthe((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_header_encodeEs		(R>R?R�R�R�R�(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR�s	
		t
TestQuopricBsYeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
RS(	cCs�gttd�td�d�D]}t|�^q gttd�td�d�D]}t|�^qUgttd�td�d�D]}t|�^q�dd	d
ddd
g|_gtd�D]'}t|�|jkr�t|�^q�|_t|j�t|j�dks"t�gttd
�td�d�D]}t|�^qBdg|_|jjd�gtd�D]'}t|�|jkr�t|�^q�|_	t|j�t|j	�dks�t�dS(NR�tziR�tZt0t9t!t*RRRQt/Rit~s	t=(
RtordtchrthlitthnonR*tAssertionErrortblittremovetbnon(R1R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR$cs�=(B=cCsXx'|jD]}|jtj|��q
Wx'|jD]}|jtj|��q4WdS(N(R�R�Rtheader_quopri_checkR�R�(R1Rk((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_header_quopri_checkoscCsXx'|jD]}|jtj|��q
Wx'|jD]}|jtj|��q4WdS(N(R�R�Rtbody_quopri_checkR�R�(R1Rk((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_body_quopri_checkusc
Cs�|j}tj}tj}x=d	D]5}|||�t||dddd��d�q"Wx$|jD]}|||�d�qeWx$|jD]}|||�d�q�WdS(
NR"s
h@e@l@l@o@RGRR�iii(R"s
h@e@l@l@o@(RCRtheader_quopri_lenR�R*R�R�(R1REthqltencR�Rk((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_header_quopri_len{s			
3cCsd|j}tj}x$|jD]}|||�d�qWx$|jD]}|||�d�qCWdS(Nii(RCRtbody_quopri_lenR�R�(R1REtbqlRk((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_body_quopri_len�s		cCsIxBtd�D]4}t|�}|jtjtj|��|�q
WdS(Ni(RR�RCRR�tquote(R1R�Rk((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_quote_unquote_idempotent�scCs�|j}tj}||d�d�||d�d�||ddd�d�||ddt�d	�||d
�d�||dd
dd�d�||dd
dddd�d�dS(NR"s=?iso-8859-1?q?hello?=shello
worlds!=?iso-8859-1?q?hello=0D=0Aworld?=RGs
iso-8859-2s=?iso-8859-2?q?hello?=R�s=?iso-8859-1?q?hello=0Aworld?=shello�theres=?iso-8859-1?q?hello=C7there?=sxxxx iRi(s�=?iso-8859-1?q?xxxx_xxxx_xxxx_xxxx_xx?=
 =?iso-8859-1?q?xx_xxxx_xxxx_xxxx_xxxx?=
 =?iso-8859-1?q?_xxxx_xxxx_xxxx_xxxx_x?=
 =?iso-8859-1?q?xxx_xxxx_xxxx_xxxx_xxx?=
 =?iso-8859-1?q?x_xxxx_xxxx_?=R�s
s�=?iso-8859-1?q?xxxx_xxxx_xxxx_xxxx_xx?=
 =?iso-8859-1?q?xx_xxxx_xxxx_xxxx_xxxx?=
 =?iso-8859-1?q?_xxxx_xxxx_xxxx_xxxx_x?=
 =?iso-8859-1?q?xxx_xxxx_xxxx_xxxx_xxx?=
 =?iso-8859-1?q?x_xxxx_xxxx_?=(RCRR�Rl(R1RER�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR��s		cCsk|j}|tjd�d�|tjd�d�|tjdd�d�|tjdd�d�dS(NRR"R�shello
worldR�(RCRRt(R1RE((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR��s
	cCs�|j}|tjd�d�|tjd�d�|tjd�d�|tjdd�d�|tjdddd	�d
�|tjdddd	dd�d
�|tjd�d�dS(NRR"shello
worldshello
worldisxxxx iRi(sjxxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx=
 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxx=
x xxxx xxxx xxxx xxxx=20R�s
slxxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx=
 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxx=
x xxxx xxxx xxxx xxxx=20sone line

two line(RCRR�(R1RE((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR��s		(R>R?R$R�R�R�R�R�R�R�R�(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR�bs								tTestCharsetcBs5eZd�Zd�Zd�Zd�Zd�ZRS(cCs6ddlm}y|jd=Wntk
r1nXdS(Ni����(Rtfake(R9RtCHARSETSR�(R1t
CharsetModule((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttearDown�s

cCso|j}td�}d}|j|�}|||j|��d}|j|�}|||j|��dS(Nsus-asciisHello World!s
����������(RCRt
to_splittabletfrom_splittable(R1RERkR�tsp((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_idempotent�s	cCs|j}td�}|d|jd��td�}|d|jd��td�}|d|jd��td�}y3|d	|jd
��|d
|jd
t��Wntk
r�nXddlm}|jd
|jd�td
�}|d|jd��dS(Ns
iso-8859-1s
hello w=F6rldshello w�rldsutf-8saGVsbG8gd29ybGQ=
shello worldsus-asciiseuc-jps$B5FCO;~IW(Bs���ϻ���i����(RR�(	RCRtbody_encodeRntLookupErrorR9tadd_charsettQPRI(R1RERkR�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_body_encode�s&	
cCs<td�}|jt|�d�|jtjtd�dS(Nuus-asciisus-asciisasc�ii(RRCR*RcRtCharsetError(R1RG((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_unicode_charset_namescCs&td�}|jt|�d�dS(NRsutf-8(RRCR*(R1RG((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_codecs_aliases_accepteds(R>R?R�R�R�R�R�(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR��s
				t
TestHeadercBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�ZRS(cCsL|j}td�}||j�d�|jd�||j�d�dS(NsHello World!s Goodbye World!sHello World!  Goodbye World!(R8RR�R�(R1RER�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_simples
	
cCsL|j}td�}||j�d�|jd�||j�d�dS(NsHello World!sGoodbye World!sHello World! Goodbye World!(R8RR�R�(R1RER�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_simple_surprises
	
cCs)d}|jt|�|dfg�dS(Nsno decoding needed(RCRRI(R1R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_header_needs_no_decodingscCsRtddd�}x9|jdd�jd�D]}|jt|�d�q.WdS(Ns�I am the very model of a modern Major-General; I've information vegetable, animal, and mineral; I know the kings of England, and I quote the fights historical from Marathon to Waterloo, in order categorical; I'm very well acquainted, too, with matters mathematical; I understand equations, both the simple and quadratical; about binomial theorem I'm teeming with a lot o' news, with many cheerful facts about the square of the hypotenuse.RiLt
splitcharsRs
 (RR�R�tassertLessEqualR*(R1R�tl((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt	test_long!s		"cCs|j}td�}td�}td�}d}d}djd�}t||�}|j||�|j||�|j�}	||	d�|t|	�|df|df|dfg�t|�}
||
jd�d�tt|	��}|||	�dS(	Ns
iso-8859-1s
iso-8859-2sutf-8s�Die Mieter treten hier ein werden mit einem Foerderband komfortabel den Korridor entlang, an s�dl�ndischen Wandgem�lden vorbei, gegen die rotierenden Klingen bef�rdert. s;Finan�ni metropole se hroutily pod tlakem jejich d�vtipu.. u�正確に言うと翻訳はされていません。一部はドイツ語ですが、あとはでたらめです。実際には「Wenn ist das Nunstuck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput.」と言っています。s=?iso-8859-1?q?Die_Mieter_treten_hier_ein_werden_mit_einem_Foerderband_ko?=
 =?iso-8859-1?q?mfortabel_den_Korridor_entlang=2C_an_s=FCdl=FCndischen_Wan?=
 =?iso-8859-1?q?dgem=E4lden_vorbei=2C_gegen_die_rotierenden_Klingen_bef=F6?=
 =?iso-8859-1?q?rdert=2E_?= =?iso-8859-2?q?Finan=E8ni_metropole_se_hroutily?=
 =?iso-8859-2?q?_pod_tlakem_jejich_d=F9vtipu=2E=2E_?= =?utf-8?b?5q2j56K6?=
 =?utf-8?b?44Gr6KiA44GG44Go57+76Kiz44Gv44GV44KM44Gm44GE44G+44Gb44KT44CC?=
 =?utf-8?b?5LiA6YOo44Gv44OJ44Kk44OE6Kqe44Gn44GZ44GM44CB44GC44Go44Gv44Gn?=
 =?utf-8?b?44Gf44KJ44KB44Gn44GZ44CC5a6f6Zqb44Gr44Gv44CMV2VubiBpc3QgZGFz?=
 =?utf-8?q?_Nunstuck_git_und_Slotermeyer=3F_Ja!_Beiherhund_das_Oder_die_Fl?=
 =?utf-8?b?aXBwZXJ3YWxkdCBnZXJzcHV0LuOAjeOBqOiogOOBo+OBpuOBhOOBvuOBmQ==?=
 =?utf-8?b?44CC?=s�Die Mieter treten hier ein werden mit einem Foerderband komfortabel den Korridor entlang, an südlündischen Wandgemälden vorbei, gegen die rotierenden Klingen befördert. Finančni metropole se hroutily pod tlakem jejich důvtipu.. 正確に言うと翻訳はされていません。一部はドイツ語ですが、あとはでたらめです。実際には「Wenn ist das Nunstuck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput.」と言っています。(R8RR�RR�RR�R(R1RER�R�RRRRR�R�tustrtnewh((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_multilingual's*	cCsF|j}t�}||d�|jdtd��||d�dS(NRRxs
iso-8859-1s=?iso-8859-1?q?foo?=(R8RR�R(R1RER�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_header_ctor_default_argsXs
		
cCs�|j}d}t|�}||j�d�t|dd�}||j�d�t|dddd�}||j�|�dS(Ns|A very long line that must get split to something other than at the 76th character boundary to test the non-default behaviors}A very long line that must get split to something other than at the 76th
 character boundary to test the non-default behaviorR�R�s}A very long line that must get split to something other than at the
 76th character boundary to test the non-default behaviorRi(R8RR�(R1RER�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_explicit_maxlinelen_s	cCsN|j}d}t|�}||dg�t|�}|||j��dS(NR"(R"N(RCRRIRR�(R1RER�R�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_us_ascii_headerms	cCs3|j}t�}|jdd�||d�dS(NR"s
iso-8859-1s=?iso-8859-1?q?hello?=(RCRR�(R1RER�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_string_charsetus		cCsQ|j}tdd�}||j�d�tdd�}||j�d�dS(Nupöstalsutf-8s=?utf-8?q?p=C3=B6stal?=u菊地時夫s=?utf-8?b?6I+K5Zyw5pmC5aSr?=(RCRR�(R1RER�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_utf8_shortest�s
	cCs�|j}|j}d}|tt|�t�}|t|j|�|tt|dd��|�|j|dd�|t|�|�dS(Ns0Ynwp4dUEbay Auction Semiar- No Charge � Earn BigR�R�(RcRCtUnicodeErrorRR�R*(R1RdRER�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_bad_8bit_header�s			cCsq|j}t�}|jdd�|jd�|j�}||d�tt|��}||j�|�dS(NR"s
iso-8859-1tworlds=?iso-8859-1?q?hello?= world(RCRR�R�RR(R1RER�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt test_encoded_adjacent_nonencoded�s		

cCsT|j}d}t|�}||ddd	g�t|�}||j�d�dS(
NsGSubject: =?koi8-r?b?8NLP18XSy8EgzsEgxsnOwczYztk=?= =?koi8-r?q?=CA?= zz.sSubject:s������� � ��������skoi8-rszz.s6Subject: =?koi8-r?b?8NLP18XSy8EgzsEgxsnOwczYztnK?= zz.(sSubject:N(s������� � ��������skoi8-r(szz.N(RCRRIRR�(R1RER�tpartsthdr((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_whitespace_eater�s	cCs&|j}d}|tjt|�dS(NsXSubject: =?EUC-KR?B?CSixpLDtKSC/7Liuvsax4iC6uLmwMcijIKHaILzSwd/H0SC8+LCjwLsgv7W/+Mj3I ?=(RcRRdR(R1RdR�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_broken_base64_header�s	cCs7t�}|jdddd�|jd|d�dS(NsContent-DispositionR�R&sbud.gifsattachment; filename="bud.gif"(RR�RC(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_ascii_add_header�s
		cCs7t�}|jdddd�|jd|d�dS(	NsContent-DispositionR�R&s
iso-8859-1Rs
Fu�baller.ppts3attachment; filename*="iso-8859-1''Fu%DFballer.ppt"(s
iso-8859-1Rs
Fu�baller.ppt(RR�RC(R1R<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt#test_nonascii_add_header_via_triple�s	cCs9tdd�j�}|j|d�|j|t�dS(Ntabcs
iso-8859-2s=?iso-8859-2?q?abc?=(RR�RCR�R*(R1tres((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_encode_unaliased_charset�s(R>R?R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR�s"					1							
					tTestRFC2231cBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cCsN|j}|jd�}||jd�d�||jddt�d	�dS(
Ns
msg_29.txtttitlesus-asciitens%This is even more ***fun*** isn't it!R�s'"This is even more ***fun*** isn't it!"(sus-asciiR�s%This is even more ***fun*** isn't it!(sus-asciiR�s'"This is even more ***fun*** isn't it!"(RCR=RLRn(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR��s	cCs�|j}t�}|jdddd�||jd�d
�|jdddddd�||jd�d�|jd�}|jdddddd�|j|j�d	�dS(NR�s%This is even more ***fun*** isn't it!RGsus-asciiRtlanguageR�s
msg_01.txts$Return-Path: <bbb@zzz.org>
Delivered-To: bbb@zzz.org
Received: by mail.zzz.org (Postfix, from userid 889)
 id 27CEAD38CC; Fri,  4 May 2001 14:05:44 -0400 (EDT)
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Message-ID: <15090.61304.110929.45684@aaa.zzz.org>
From: bbb@ddd.com (John X. Doe)
To: bbb@zzz.org
Subject: This is a test message
Date: Fri, 4 May 2001 14:05:44 -0400
Content-Type: text/plain; charset=us-ascii;
 title*="us-ascii'en'This%20is%20even%20more%20%2A%2A%2Afun%2A%2A%2A%20isn%27t%20it%21"


Hi,

Do you like this message?

-Me
(sus-asciiRs%This is even more ***fun*** isn't it!(sus-asciiR�s%This is even more ***fun*** isn't it!(RCRR�RLR=R8Rh(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR��s		

cCsz|j}|jd�}|jdddddd�|jdd	dddd�|jdd
d�||j�d�dS(
Ns
msg_01.txtRxR�RGsus-asciiR�R�R�s%This is even more ***fun*** isn't it!ResContent-Types&Return-Path: <bbb@zzz.org>
Delivered-To: bbb@zzz.org
Received: by mail.zzz.org (Postfix, from userid 889)
 id 27CEAD38CC; Fri,  4 May 2001 14:05:44 -0400 (EDT)
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Message-ID: <15090.61304.110929.45684@aaa.zzz.org>
From: bbb@ddd.com (John X. Doe)
To: bbb@zzz.org
Subject: This is a test message
Date: Fri, 4 May 2001 14:05:44 -0400
Content-Type: text/plain; charset="us-ascii";
 title*="us-ascii'en'This%20is%20even%20more%20%2A%2A%2Afun%2A%2A%2A%20isn%27t%20it%21"


Hi,

Do you like this message?

-Me
(R8R=R�R�Rh(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR��s	
cCs/|j}|jd�}||j�d�dS(Ns
msg_32.txtsus-ascii(RCR=R�(R1RER<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt test_rfc2231_get_content_charset
s	cCsHd}tj|�}|jd�}|j|t�|j|d�dS(NsContent-Transfer-Encoding: 8bit
Content-Disposition: inline; filename="file____C__DOCUMENTS_20AND_20SETTINGS_FABIEN_LOCAL_20SETTINGS_TEMP_nsmail.htm"
Content-Type: text/html; NAME*0=file____C__DOCUMENTS_20AND_20SETTINGS_FABIEN_LOCAL_20SETTINGS_TEM; NAME*1=P_nsmail.htm

tNAMEsMfile____C__DOCUMENTS_20AND_20SETTINGS_FABIEN_LOCAL_20SETTINGS_TEMP_nsmail.htm(R9R�RLtassertNotIsInstancettupleRC(R1RR<tparam((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt#test_rfc2231_no_language_or_charset
scCs/d}tj|�}|j|j�d�dS(Ns�Content-Disposition: inline;
	filename*0*="''This%20is%20even%20more%20";
	filename*1*="%2A%2A%2Afun%2A%2A%2A%20";
	filename*2="is it not.pdf"

s)This is even more ***fun*** is it not.pdf(R9R�RCRW(R1RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt/test_rfc2231_no_language_or_charset_in_filename%
scCs/d}tj|�}|j|j�d�dS(Ns�Content-Disposition: inline;
	filename*0*="''This%20is%20even%20more%20";
	filename*1*="%2A%2A%2Afun%2A%2A%2A%20";
	filename*2="is it not.pdf"

s)This is even more ***fun*** is it not.pdf(R9R�RCRW(R1RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt7test_rfc2231_no_language_or_charset_in_filename_encoded1
scCs/d}tj|�}|j|j�d�dS(Ns�Content-Disposition: inline;
	filename*0="''This%20is%20even%20more%20";
	filename*1*="%2A%2A%2Afun%2A%2A%2A%20";
	filename*2="is it not.pdf"

s1This%20is%20even%20more%20***fun*** is it not.pdf(R9R�RCRW(R1RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_rfc2231_partly_encoded=
s
	cCs/d}tj|�}|j|j�d�dS(Ns�Content-Disposition: inline;
	filename*0="This%20is%20even%20more%20";
	filename*1="%2A%2A%2Afun%2A%2A%2A%20";
	filename*2="is it not.pdf"

s?This%20is%20even%20more%20%2A%2A%2Afun%2A%2A%2A%20is it not.pdf(R9R�RCRW(R1RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_rfc2231_partly_nonencodedJ
s
	cCs/d}tj|�}|j|j�d�dS(Ns�Content-Type: multipart/alternative;
	boundary*0*="''This%20is%20even%20more%20";
	boundary*1*="%2A%2A%2Afun%2A%2A%2A%20";
	boundary*2="is it not.pdf"

s)This is even more ***fun*** is it not.pdf(R9R�RCR^(R1RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt/test_rfc2231_no_language_or_charset_in_boundaryW
scCs/d}tj|�}|j|j�d�dS(Ns�Content-Type: text/plain;
	charset*0*="This%20is%20even%20more%20";
	charset*1*="%2A%2A%2Afun%2A%2A%2A%20";
	charset*2="is it not.pdf"

s)this is even more ***fun*** is it not.pdf(R9R�RCR�(R1RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt.test_rfc2231_no_language_or_charset_in_charsetc
scCs/d}tj|�}|j|j�d�dS(Ns�Content-Disposition: inline;
	filename*0*="bogus'xx'This%20is%20even%20more%20";
	filename*1*="%2A%2A%2Afun%2A%2A%2A%20";
	filename*2="is it not.pdf"

s)This is even more ***fun*** is it not.pdf(R9R�RCRW(R1RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt%test_rfc2231_bad_encoding_in_filenamep
scCs/d}tj|�}|j|j�d�dS(Ns:Content-Type: text/plain; charset*=bogus''utf-8%E2%80%9D

(R9R�RCR�RI(R1RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt$test_rfc2231_bad_encoding_in_charset|
scCs/d}tj|�}|j|j�d�dS(Ns:Content-Type: text/plain; charset*=ascii''utf-8%E2%80%9D

(R9R�RCR�RI(R1RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt%test_rfc2231_bad_character_in_charset�
scCs/d}tj|�}|j|j�d�dS(Ns�Content-Disposition: inline;
	filename*0*="ascii'xx'This%20is%20even%20more%20";
	filename*1*="%2A%2A%2Afun%2A%2A%2A%20";
	filename*2*="is it not.pdf%E2"

u,This is even more ***fun*** is it not.pdf�(R9R�RCRW(R1RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt&test_rfc2231_bad_character_in_filename�
scCs/d}tj|�}|j|j�d�dS(Ns^Content-Transfer-Encoding: 8bit
Content-Disposition: inline; filename*=X-UNKNOWN''myfile.txt

s
myfile.txt(R9R�RCRW(R1RR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_rfc2231_unknown_encoding�
scCsa|j}d}tj|�}|jd�\}}}||d�||d�||d�dS(NsJContent-Type: application/x-foo;
	name*0*="Frank's"; name*1*=" Document"

R�sFrank's Document(RCR9R�RLRI(R1RERR<RGR�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt-test_rfc2231_single_tick_in_filename_extended�
s	

cCsHd}tj|�}|jd�}|j|t�|j|d�dS(NsGContent-Type: application/x-foo; name*0="Frank's"; name*1=" Document"

R�sFrank's Document(R9R�RLR�R�RC(R1RR<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt$test_rfc2231_single_tick_in_filename�
s
cCsa|j}d}tj|�}|jd�\}}}||d�||d�||d�dS(NsYContent-Type: application/x-foo;
	name*0*="us-ascii'en-us'Frank's"; name*1*=" Document"

R�sus-asciisen-ussFrank's Document(RCR9R�RL(R1RERR<RGR�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt!test_rfc2231_tick_attack_extended�
s	

cCsHd}tj|�}|jd�}|j|t�|j|d�dS(NsWContent-Type: application/x-foo;
	name*0="us-ascii'en-us'Frank's"; name*1=" Document"

R�sus-ascii'en-us'Frank's Document(R9R�RLR�R�RC(R1RR<R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_rfc2231_tick_attack�
s
cCs8|j}d}tj|�}||jd�d�dS(Ns:Content-Type: application/x-foo; name="Frank's Document"

R�sFrank's Document(RCR9R�RL(R1RERR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_rfc2231_no_extended_values�
s	cCsa|j}d}tj|�}|jd�\}}}||d�||d�||d�dS(NsiContent-Type: application/x-foo;
	name*0*="us-ascii'en-us'My";
	name*1=" Document";
	name*2*=" For You"

R�sus-asciisen-ussMy Document For You(RCR9R�RL(R1RERR<RGR�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt,test_rfc2231_encoded_then_unencoded_segments�
s	

cCsa|j}d}tj|�}|jd�\}}}||d�||d�||d�dS(NsiContent-Type: application/x-foo;
	name*0="us-ascii'en-us'My";
	name*1*=" Document";
	name*2*=" For You"

R�sus-asciisen-ussMy Document For You(RCR9R�RL(R1RERR<RGR�R�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt,test_rfc2231_unencoded_then_encoded_segments�
s	

(R>R?R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�RRRR(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR��s.		%						
	
		
		
	
				
	
	
				t
TestSignedcBs,eZd�Zd�Zd�Zd�ZRS(cCsItt|��}z|j�}tj|�}Wd|j�X||fS(N(R(RRjR9R�R;(R1R&R7toriginalR<((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt_msg_and_objscCslddl}|jd|j|jB�}|j|�jd�}|j|�jd�}|j||�dS(Ni����s^--([^\n]+)\n(.*?)\n--\1$i(tretcompiletSRotsearchtgroupRC(R1RtresultRtreparttinparttoutpart((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt_signed_parts_eqs
cCs5|jd�\}}|j�}|j||�dS(Ns
msg_45.txt(RRhR(R1RR<R((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_long_headers_as_stringscCsQ|jd�\}}t�}t|�j|�|j�}|j||�dS(Ns
msg_45.txt(RRR	RmR0R(R1RR<R7R((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyttest_long_headers_flattens
	(R>R?RRRR(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyRs				cCsBtjt}gt|�D]$}|jd�rt||�^qS(NR	(R{tmodulesR>tdirR�tgetattr(tmodR�((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt_testclasses!s
cCs:tj�}x't�D]}|jtj|��qW|S(N(tunittestt	TestSuiteRtaddTestt	makeSuite(tsuitet	testclass((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyR&scCs"xt�D]}t|�q
WdS(N(RR(R((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt	test_main-st__main__tdefaultTestR(YR R{RUR�R+RtwarningsR(t	cStringIORtrandomRt	threadingRtImportErrortdummy_threadingR9t
email.CharsetRtemail.HeaderRRRtemail.ParserRRtemail.GeneratorR	R
t
email.MessageRtemail.MIMEAudioRtemail.MIMETextR
temail.MIMEImageRtemail.MIMEBaseRtemail.MIMEMessageRtemail.MIMEMultipartRRRRRRRttest.test_supportRRRt
email.testRR$R.RHR
R(tTestCaseR)R@R�R�R#R,R=RARNR~R�R�R�R�RFReRrR�R�R�R�R�RRRRR>tmain(((s</usr/local/python-2.7/lib/python2.7/email/test/test_email.pyt<module>s�
���B80*3��r>�;���j"�Ho=��;!			
© 2025 GrazzMean