%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python2.7/email/test/
Upload File :
Create Path :
Current File : //usr/local/lib/python2.7/email/test/test_email.pyo


Oac@sddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZyddlm
Z
Wn!ek
rddlm
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:ddZ;dej<fdYZ=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=fd0YZFd1ej<fd2YZGd3e=fd4YZHd5e=fd6YZId7e=fd8YZJd9e=fd:YZKd;e=fd<YZLd=e=fd>YZMd?ej<fd@YZNdAej<fdBYZOdCej<fdDYZPdEe=fdFYZQdGe=fdHYZRdIe=fdJYZSdKZTdLZUdMZVeWdNkrejXdOdPndS(QiN(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 trcCs1tjjtjjtd|}t||S(Ntdata(tostpathtjointdirnametlandmarktopen(tfilenametmodeR!((s1/usr/local/lib/python2.7/email/test/test_email.pytopenfile2s$t
TestEmailBasecBseZdZdZRS(cCs}||kryt|}t|}tj|j|j}t}|tItj|IJ|j|jndS(s6Like assertEqual except use ndiff for readable output.N(	tstrtdifflibtndifft
splitlinesRtNLR"tfailureExceptiontgetvalue(tselftfirsttsecondtsfirsttssecondtdifftfp((s1/usr/local/lib/python2.7/email/test/test_email.pytndiffAssertEqual:s	cCs7tt|}ztj|}Wd|jX|S(N(R(Rtemailtmessage_from_filetclose(R1R&R7tmsg((s1/usr/local/lib/python2.7/email/test/test_email.pyt_msgobjDs
(t__name__t
__module__R8R=(((s1/usr/local/lib/python2.7/email/test/test_email.pyR)9s	
tTestMessageAPIcBseZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!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/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;RS(:cCsT|j}|jd}||jddddg||jddddS(Ns
msg_20.txttccsccc@zzz.orgsddd@zzz.orgseee@zzz.orgtxxsn/a(tassertEqualR=tget_all(R1teqR<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_get_allPs	cCsL|j}t}||jdtd}|j|||dd||jd||dd||jdd||dd	||jjd|jd||jd||ddt}d
|d<d|d
<d|d<|j|||dd
||dd||dddS(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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_getset_charsetVs,		

	



cCsJ|j}t}|jd||jjd||dddS(Nsus-asciiscontent-typestext/plain; charset="us-ascii"(RCRRJRHRM(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_set_charset_from_stringps
		
cCsBt}td}|jd||j|jjddS(Ns
iso-8859-1sThis is a string payload(RRtset_payloadRCRHRM(R1R<RG((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_set_payload_with_charsetws	c
Cs|j}|jd}|j}||dddddg|jd}|jd}||dddddg|jd}|j}||dddddd	ddgdS(
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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_get_charsets}s	
cCs|j}|jd}g|jD]}|j^q%}||ddg|jd}|jd}||jddS(Ns
msg_04.txtsmsg.txts
msg_07.txtisdingusfish.gif(RCR=tget_payloadtget_filename(R1RER<tpt	filenamestsubpart((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_get_filenames	%cCsT|j}|jd}g|jD]}|j^q%}||ddgdS(Ns
msg_44.txtsmsg.txt(RCR=RVRW(R1RER<RXRY((s1/usr/local/lib/python2.7/email/test/test_email.pyt%test_get_filename_with_name_parameters	%cCs/|j}|jd}||jddS(Ns
msg_07.txttBOUNDARY(RCR=tget_boundary(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_get_boundarys	cCs|j}|jd}|jd|jd\}}||jd||d|jd}|jd|jd\}}||jd||d|jd}|jtj|jddS(	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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_set_boundarys	



cCsZtd}|j|jddd|j|j|jddd ddS(Ns	form-dataiismultipart/form-datai!s!multipart/form-data; boundary="==(RRCRat	as_string(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_make_boundarys

cCsttd}|j}tjj}|j|}t}tjj|t	d}|j
|t|j|j
|dS(Ns
msg_46.txti(R(RtreadR9RRtparsestrRR	tTruetflattentFalseRCR0(R1R7tmsgdatatparserR<touttgen((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_message_rfc822_onlys	cCs|j}|jd}||jdtd||jdjdtd||jdjdtd||jdjdtd||jd	jdtd
||jdjdtd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<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_get_decoded_payloads	cCs}|j}t}|jdx1d
D])}||d<||jdtdq&W|jd	||jdtd	dS(Ns$begin 666 -
+:&5L;&\@=V]R;&0 
 
end
s
x-uuencodetuuencodetuuesx-uuescontent-transfer-encodingRtshello worldtfoo(s
x-uuencodeRvRwsx-uue(RCRRPRVRl(R1RER<tcte((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_get_decoded_uu_payloads		



cCstt}|jdd|d<tj}z$tt_}|jdtWd|t_X|j|jddS(Ns%begin 664 foo.txt
%<W1F=0000H 
 
end
s
x-uuencodesContent-Transfer-EncodingRtR(	RRPtsyststderrRRVRlRCR0(R1R<t
old_stderrtsfp((s1/usr/local/lib/python2.7/email/test/test_email.pyt$test_decode_bogus_uu_payload_quietlys	

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

cCs|j}|jd}td}z|jjdd}Wd|jX|||jt|}|jd}|j	|dj
d||tj|ddS(Ns
msg_01.txts	Rs
isFrom i(
RCR=R(RjtreplaceR;RhR*tsplitt
assertTruet
startswithR.R"(R1RER<R7Rtfullreprtlines((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_as_strings	
cCs,tjd}|j|jdddS(NsContent-Type: blarg; baz; boo
tbazR(R9tmessage_from_stringRCRL(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_bad_param1scCs)tjd}|j|jddS(Ns
From: foo
(R9RRCRWRI(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_missing_filename5scCs)tjd}|j|jddS(Ns%Content-Disposition: blarg; filename
R(R9RRCRW(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_bogus_filename9s	cCs)tjd}|j|jddS(Ns
From: foo
(R9RRCR^RI(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_missing_boundary>scCs|j}tjd}||jddd
ddgtjd
}||jdddddg||jdtjd}||jdddddgdS(Ns&X-Header: foo=one; bar=two; baz=three
Resx-headerRxtonetbarttwoRtthrees X-Header: foo; bar=one; baz=two
Rs"X-Header: foo; bar="one"; baz=two
(RxR(RR(RR(RxR(RR(RR(RxR(RR(RR(RCR9Rt
get_paramsRI(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_get_paramsBs				cCs0t}d|d<|j|jdddS(Ns>Content-Type: Multipart/mixed; boundary = "CPIMSSMTPC06p5f3tG"sContent-TypetboundarytCPIMSSMTPC06p5f3tG(RRCRL(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_get_param_liberalRs	
cCs|j}tjd}||jdddd||jdddd||jddtjd}||jdddd	||jdddd
||jdddddS(Ns&X-Header: foo=one; bar=two; baz=three
RResx-headerRtquuzs"X-Header: foo; bar="one"; baz=two
RxRRR(RCR9RRLRI(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_get_paramWs			cCs5|jd}|j|jdjdddS(Ns
msg_22.txtitnames
wibble.JPG(R=RCRVRL(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt'test_get_param_funky_continuation_lineshscCsKtjd}|j|jdd|j|jddtddS(Ns4Content-Type: image/pjpeg; name="Jim&amp;&amp;Jill"
RsJim&amp;&amp;Jilltunquotes"Jim&amp;&amp;Jill"(R9RRCRLRn(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt#test_get_param_with_semis_in_quotesls
	cCsTtjd}|j|jddtjd}|j|jdddS(Ns5Content-Type: foo; bar*0="baz\"foobar"; bar*1="\"baz"Rsbaz"foobar"baz(R9RRCRL(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_get_param_with_quotesss		cCsktjd}|j|jd|j|jd|j|jd|j|jddS(NsHeader: existsReRtHEADERtheaderi(R9RRthas_keytassertFalse(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_has_key{s
cCs|j}t}|jdd||jdd|jdd||jdd||jddtd||jd
ddg||jdtdddg|jdd
dd||jdddd
dS(NRGsiso-2022-jpt
importances
high valueRs"high value"s
text/plainRs
"iso-2022-jp"siso-9999-xxResX-Jimmy(s
text/plainR(RGsiso-2022-jp(Rs
high value(s
text/plainR(RGs
"iso-2022-jp"(Rs"high value"(RCRt	set_paramRLRnR(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_set_params		

cCs|j}|jd}||jdd	d
g|jd}|jd||jddg|jd|||jd
dd|fgdS(Ns
msg_05.txtsmultipart/reportRsreport-typesdelivery-statusRs%D1690A7AC1.996856090/mail.example.com(smultipart/reportR(sreport-typesdelivery-status(Rs%D1690A7AC1.996856090/mail.example.com(smultipart/reportR(Rs%D1690A7AC1.996856090/mail.example.com(smultipart/reportR(Rs%D1690A7AC1.996856090/mail.example.com(RCR=RRLt	del_paramR(R1RER<told_val((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_del_params	


cCsGt}|jdddd|jdd|j|dddS(NsContent-Dispositiont
attachmentR&sbud.gifscontent-disposition(Rt
add_headerRRC(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_del_param_on_other_headers	cCs|j}t}|jt|jd|jd||dd|jdd||dd|jd||dddS(	NRs
text/plainscontent-typeRGsus-asciistext/plain; charset="us-ascii"s	text/htmlstext/html; charset="us-ascii"(RCRRct
ValueErrortset_typeR(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyt
test_set_types		

cCs;t}d|d<|jdd|j|dddS(Ns
text/plainsX-Content-Typesapplication/octet-streamsx-content-type(RRRC(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_set_type_on_other_headers	
cCs#t}|j|jddS(Ns
text/plain(RRCRK(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_get_content_type_missings	cCs0t}|jd|j|jddS(Nsmessage/rfc822(Rtset_default_typeRCRK(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt/test_get_content_type_missing_with_default_types	
cCs2|jd}|j|jdjddS(Ns
msg_30.txtismessage/rfc822(R=RCRVRK(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt+test_get_content_type_from_message_implicitscCs2|jd}|j|jdjddS(Ns
msg_28.txtismessage/rfc822(R=RCRVRK(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt+test_get_content_type_from_message_explicitscCs)|jd}|j|jddS(Ns
msg_03.txts
text/plain(R=RCRK(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt6test_get_content_type_from_message_text_plain_implicitscCs)|jd}|j|jddS(Ns
msg_01.txts
text/plain(R=RCRK(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt6test_get_content_type_from_message_text_plain_explicitscCs#t}|j|jddS(NR(RRCtget_content_maintype(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt!test_get_content_maintype_missings	cCs0t}|jd|j|jddS(Nsmessage/rfc822tmessage(RRRCR(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt3test_get_content_maintype_missing_with_default_types	
cCs2|jd}|j|jdjddS(Ns
msg_30.txtiR(R=RCRVR(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt/test_get_content_maintype_from_message_implicitscCs2|jd}|j|jdjddS(Ns
msg_28.txtiR(R=RCRVR(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt/test_get_content_maintype_from_message_explicitscCs)|jd}|j|jddS(Ns
msg_03.txtR(R=RCR(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt:test_get_content_maintype_from_message_text_plain_implicitscCs)|jd}|j|jddS(Ns
msg_01.txtR(R=RCR(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt:test_get_content_maintype_from_message_text_plain_explicitscCs#t}|j|jddS(Ntplain(RRCtget_content_subtype(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt test_get_content_subtype_missings	cCs0t}|jd|j|jddS(Nsmessage/rfc822trfc822(RRRCR(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt2test_get_content_subtype_missing_with_default_types	
cCs2|jd}|j|jdjddS(Ns
msg_30.txtiR(R=RCRVR(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt.test_get_content_subtype_from_message_implicitscCs2|jd}|j|jdjddS(Ns
msg_28.txtiR(R=RCRVR(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt.test_get_content_subtype_from_message_explicitscCs)|jd}|j|jddS(Ns
msg_03.txtR(R=RCR(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt9test_get_content_subtype_from_message_text_plain_implicitscCs)|jd}|j|jddS(Ns
msg_01.txtR(R=RCR(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt9test_get_content_subtype_from_message_text_plain_explicitscCs-t}d|d<|j|jddS(Nsno-slash-in-this-stringsContent-TypeR(RRCR(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_get_content_maintype_errors	
cCs-t}d|d<|j|jddS(Nsno-slash-in-this-stringsContent-TypeR(RRCR(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_get_content_subtype_error
s	
cCs=|j}t}|jdd|jdd|jdd||jdddg||jdddg|jdd||jdddg||jdddg|jdd|jdd	||jddddg||jd	dddg|jt|jd
ddS(NtFirsttOnetSecondtTwotThirdtThreetTwentytElevensOne HundredtFourthtMissing(RCRRtkeystvaluestreplace_headerRctKeyError(R1RER<((s1/usr/local/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<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_broken_base64_payload#s	


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

cCs3t}td|d<|jtj|jdS(Nsdummy
X-Injected-Header: testtDummy(RRRcRRdRh(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt(test_embedded_header_via_Header_rejected4s	cCs-t}d|d<|jtj|jdS(Nsdummy
X-Injected-Header: testR(RRcRRdRh(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt(test_embedded_header_via_string_rejected9s	
(<R>R?RFRNRORQRUR[R\R_RgRiRsRuRzRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR(((s1/usr/local/lib/python2.7/email/test/test_email.pyR@Ost														
	
																																											tTestEncoderscBs#eZdZdZdZRS(cCs4|j}t}|jd||dddS(Nsus-asciiscontent-transfer-encodingt7bit(RCRRJ(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_encode_empty_payloadAs		
cCsj|j}td}||ddtd}||ddtddd}||dddS(	Nshello worldscontent-transfer-encodingRs
hello  worldt8bitt_charsets
iso-8859-1squoted-printable(RCR
(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_default_cteGs	cCs6|j}tjjddd}||dddS(NsʸRseuc-jpscontent-transfer-encodingR(RCR9R
(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_encode7or8bitSs	(R>R?RRR(((s1/usr/local/lib/python2.7/email/test/test_email.pyR@s		tTestLongHeaderscBseZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZRS(cCsQ|j}tjd}t}t|}|j|||jddS(NsSubject: bug demonstration
	12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
	more text

test
sSubject: bug demonstration
 12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
 more text

test
(R8R9RRR	RmR0(R1RER<R~R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_split_long_continuation^s			
cCsW|j}d}t|dd}||jdt|}||jddS(Nsbug demonstration
	12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
	more texttcontinuation_wss	sbug demonstration
 12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
 more text(R8Rtencode(R1REthstrth((s1/usr/local/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	||jd
dS(Ns
iso-8859-1s
iso-8859-2sutf-8sDie Mieter treten hier ein werden mit einem Foerderband komfortabel den Korridor entlang, an sdlndischen Wandgemlden vorbei, gegen die rotierenden Klingen befrdert. s;Finanni metropole se hroutily pod tlakem jejich dvtipu.. 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?=(
R8RRRtappendRRR	RmR0(R1RERtcztutf8tg_headtcz_headt	utf8_headRR<R~((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_long_nonstrings&		
	

cCs2|j}tddd}||jddS(Nsiwasnipoop; giraffes="very-long-necked-animals"; spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"RsX-Foobar-Spoink-Defrobnitsjwasnipoop; giraffes="very-long-necked-animals";
 spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"(R8RR(R1RER((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_long_header_encodes
			cCs8|j}tddddd}||jddS(Nsiwasnipoop; giraffes="very-long-necked-animals"; spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"RsX-Foobar-Spoink-DefrobnitRs	sjwasnipoop; giraffes="very-long-necked-animals";
	spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"(R8RR(R1RER((s1/usr/local/lib/python2.7/email/test/test_email.pyt-test_long_header_encode_with_tab_continuations			cCsX|j}td}d|d<t}t|}|j|||jddS(NRsiwasnipoop; giraffes="very-long-necked-animals"; spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"sX-Foobar-Spoink-DefrobnitsContent-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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_header_splitters	
	
cCs|j}t}d|d<tjgtdD]}d|^q/|d<|jdt}t|}|j|||j	ddS(Nstest@dom.ainRi
s<%d@dom.ain>t
ReferencestTestsFrom: 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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_no_semis_header_splitters		
0
	
cCs@|j}ddd}t|dd}||jddS(NsReferences: RiPRs	s\References: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(R8RR(R1RERR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_no_split_long_headers
	cCs8|j}d}t|dd}||jddS(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)
Rs	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(R1RERR((s1/usr/local/lib/python2.7/email/test/test_email.pyt"test_splitting_multiple_long_liness
	cCsD|j}d}t|dddddd}||jddS(	Nsfrom 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
maxlineleniNRtReceivedRs	sfrom 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(R1RERR((s1/usr/local/lib/python2.7/email/test/test_email.pyt&test_splitting_first_line_only_is_longs		cCsU|j}t}tdddd}|jd||d<||jddS(NsBritische Regierung gibts
iso-8859-1RRs+grnes Licht fr Offshore-WindkraftprojektesSubject: =?iso-8859-1?q?Britische_Regierung_gibt?= =?iso-8859-1?q?gr=FCnes?=
 =?iso-8859-1?q?_Licht_f=FCr_Offshore-Windkraftprojekte?=

(R8RRRRh(R1RER<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_long_8bit_headers			

cCs3|j}t}d|d<||jddS(NsfBritische Regierung gibt grnes Licht fr Offshore-Windkraftprojekte <a-very-long-address@example.com>sReply-TosrReply-To: Britische Regierung gibt grnes Licht fr Offshore-Windkraftprojekte <a-very-long-address@example.com>

(R8RRh(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyt test_long_8bit_header_no_charsets
		
cCs<|j}d}t}||d<||jdddS(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>RisTo: "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(R1RERR<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_long_to_header(s		
cCs?|j}d}t|}|jd||jddS(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.(R8RRR(R1RERR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_long_line_after_append5s	
cCs?|j}d}t|}|jd||jddS(NsThis is a shorter line.s!Add another sentence. (Surprise?)s9This is a shorter line. Add another sentence. (Surprise?)(R8RRR(R1RERR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_shorter_line_with_append>s	
cCsA|j}d}d}t|dd|}||jddS(Ns!X-Very-Very-Very-Long-Header-NamesDie Mieter treten hier ein werden mit einem Foerderband komfortabel den Korridor entlang, an sdlndischen Wandgemlden vorbei, gegen die rotierenden Klingen befrdert. s
iso-8859-1Rs=?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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_long_field_nameFs	cCsId}t}t|dd|d<||d<|j|jddS(Nsfrom 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 -0700Rs	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(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_long_received_headerRs	
cCsOd}t}t|dddd|d<||d<|j|jddS(Ns<15975.17901.207240.414604@sgigritzmann1.mathematik.tu-muenchen.de> (David Bremner's message of "Thu, 6 Mar 2003 13:58:21 +0100")RRRs	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(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_string_headerinst_eqas	

cCsO|j}t}d}||d<t|dd|d<||jddS(Ns iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEUAAAAkHiJeRUIcGBi9
 locQDQ4zJykFBAXJfWDjAAACYUlEQVR4nF2TQY/jIAyFc6lydlG5x8Nyp1Y69wj1PN2I5gzpsFace-1RsFace-2s7Face-1: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEUAAAAkHiJeRUIcGBi9
 locQDQ4zJykFBAXJfWDjAAACYUlEQVR4nF2TQY/jIAyFc6lydlG5x8Nyp1Y69wj1PN2I5gzp
Face-2: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEUAAAAkHiJeRUIcGBi9
 locQDQ4zJykFBAXJfWDjAAACYUlEQVR4nF2TQY/jIAyFc6lydlG5x8Nyp1Y69wj1PN2I5gzp

(R8RRRh(R1RER<tt((s1/usr/local/lib/python2.7/email/test/test_email.pyt-test_long_unbreakable_lines_with_continuationos		
cCs5|j}d}tj|}||jddS(NsReceived: 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 -0700sReceived: 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

(R8R9RRh(R1REtmR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt"test_another_long_multiline_headers
	cCsO|j}d}t}||d<t|dd|d<||jddS(NsList-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/spamassassin-talk>,
        <mailto:spamassassin-talk-request@lists.sourceforge.net?subject=unsubscribe>tListRsQList: 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(R1RERR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt%test_long_lines_with_different_headers		
(R>R?RRRRRRR
RRRRRRRRRRRRR R"(((s1/usr/local/lib/python2.7/email/test/test_email.pyR]s*			+			
						
			
								tTestFromManglingcBs,eZdZdZdZdZRS(cCs-t|_d|jd<|jjddS(Nsaaa@bbb.orgRs(From the desk of A.A.A.:
Blah blah blah
(RR<RP(R1((s1/usr/local/lib/python2.7/email/test/test_email.pytsetUps
	cCsEt}t|dt}|j|j|j|jddS(Ntmangle_from_s<From: aaa@bbb.org

>From the desk of A.A.A.:
Blah blah blah
(RR	RlRmR<RCR0(R1RR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_mangled_froms
	cCsEt}t|dt}|j|j|j|jddS(NR%s;From: aaa@bbb.org

From the desk of A.A.A.:
Blah blah blah
(RR	RnRmR<RCR0(R1RR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_dont_mangle_froms
	cCst}t|dt}tjtjd}|j||jt	g|j
jdD]}|jdr_d^q_ddS(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	RlR9RttextwraptdedentRmRCtlenR0RR(R1RRR<R((s1/usr/local/lib/python2.7/email/test/test_email.pyt'test_mangle_from_in_preamble_and_epilogs	
%(R>R?R$R&R'R+(((s1/usr/local/lib/python2.7/email/test/test_email.pyR#s			t
TestMIMEAudiocBs5eZdZdZdZdZdZRS(cCsstjjtjjtdd}ttd|d}z|j|_Wd|j	Xt
|j|_dS(NRRsaudiotest.autrb(R R!R"R#R$R%RRjt
_audiodataR;Rt_au(R1tdatadirR7((s1/usr/local/lib/python2.7/email/test/test_email.pyR$s$cCs|j|jjddS(Nsaudio/basic(RCR/RK(R1((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_guess_minor_typescCs/|jj}|jtj||jdS(N(R/RVRCRtdecodestringR.(R1tpayload((s1/usr/local/lib/python2.7/email/test/test_email.pyt
test_encodingscCs,t|jd}|j|jddS(Ntfishs
audio/fish(RR.RCRK(R1tau((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_checkSetMinorscCs|j}|jjdddd||jdd||jjdddd
g||jjddddg}||jjdddd|j|jjd	d
|dd||j|jjd|||j|jjd|dd|dS(NsContent-DispositionRR&saudiotest.auscontent-dispositions#attachment; filename="audiotest.au"ReRRxtfailobjtfoobar(RR(R&saudiotest.au(RCR/RRRLtassertIs(R1REtmissing((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_add_headers 	


(R>R?R$R1R4R7R<(((s1/usr/local/lib/python2.7/email/test/test_email.pyR,s
				t
TestMIMEImagecBs5eZdZdZdZdZdZRS(cCsCtd}z|j|_Wd|jXt|j|_dS(NsPyBanner048.gif(R(Rjt_imgdataR;Rt_im(R1R7((s1/usr/local/lib/python2.7/email/test/test_email.pyR$s
cCs|j|jjddS(Ns	image/gif(RCR?RK(R1((s1/usr/local/lib/python2.7/email/test/test_email.pyR1scCs/|jj}|jtj||jdS(N(R?RVRCRR2R>(R1R3((s1/usr/local/lib/python2.7/email/test/test_email.pyR4scCs,t|jd}|j|jddS(NR5s
image/fish(RR>RCRK(R1tim((s1/usr/local/lib/python2.7/email/test/test_email.pyR7scCs|j}|jjdddd||jdd||jjdddd
g||jjddddg}||jjdddd|j|jjd	d
|dd||j|jjd|||j|jjd|dd|dS(NsContent-DispositionRR&sdingusfish.gifscontent-dispositions%attachment; filename="dingusfish.gif"ReRRxR8R9(RR(R&sdingusfish.gif(RCR?RRRLR:(R1RER;((s1/usr/local/lib/python2.7/email/test/test_email.pyR<s 	


(R>R?R$R1R4R7R<(((s1/usr/local/lib/python2.7/email/test/test_email.pyR=s
				tTestMIMETextcBsPeZdZdZdZdZdZdZdZdZ	RS(cCstd|_dS(Nshello there(R
t_msg(R1((s1/usr/local/lib/python2.7/email/test/test_email.pyR$1scCs|j}||jjd||jjddg}|j|jjd|||j|jjd|dd|dS(Ns
text/plainRGsus-asciiR9Re(RCRBRKRLR:(R1RER;((s1/usr/local/lib/python2.7/email/test/test_email.pyt
test_types4s	cCs3|j|jjd|j|jjdS(Nshello there(RCRBRVRtis_multipart(R1((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_payload=scCsF|j}tddd}||jjd||dddS(Nshello thereRsus-asciiscontent-typestext/plain; charset="us-ascii"(RCR
RHRM(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_charsetAs	cCsF|j}tddd}||jjd||dddS(Nuhello thereRsus-asciiscontent-typestext/plain; charset="us-ascii"(RCR
RHRM(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_7bit_unicode_inputGs	cCsS|j}td}||jd||dd|jd|jdS(Nuhello theresus-asciiscontent-typestext/plain; charset="us-ascii"shello there(RCR
RHRRh(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyt"test_7bit_unicode_input_no_charsetMs
	cCsnd}|j}t|dd}||jjd||dd||jdt|jddS(NuкирилицаRsutf-8scontent-typestext/plain; charset="utf-8"Rt(RCR
RHtoutput_charsetRVRlR(R1tteststrRER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_8bit_unicode_inputTs	cCsd}|jtt|dS(Nuкирилица(RctUnicodeEncodeErrorR
(R1RJ((s1/usr/local/lib/python2.7/email/test/test_email.pyt"test_8bit_unicode_input_no_charset\s(
R>R?R$RCRERFRGRHRKRM(((s1/usr/local/lib/python2.7/email/test/test_email.pyRA0s								t
TestMultipartcBseZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZRS(cCsVtd}z|j}Wd|jXtdddd}t|dd}|jdd	d
dtd}|j||j|d|d
<d|d<d|d<d}tj	|}|ddkrtj
}n	tj}|dkrd}	nd}	d|	|df}
tjdtj	||
|d<||_
||_||_dS(NsPyBanner048.gift	multiparttmixedRR]Rsdingusfish.gifscontent-dispositionRR&s$Hi there,

This is the dingus fish.
sBarry <barry@digicool.com>Rs)Dingus Lovers <cravindogs@cravindogs.com>RsHere is your dingus fishRg4FcpAiit-t+s %s%04di$s%a, %d %b %Y %H:%M:%StDate(R(RjR;RRRR
tattachttimet	localtimettimezonetaltzonetstrftimeRBR?t_txt(R1R7Rt	containertimagetintrotnowt	timetuplettzsecstsignttzoffset((s1/usr/local/lib/python2.7/email/test/test_email.pyR$ds<	




				cCs|j}|j}|j}|j|j||jd|t|jd|t|jd|jd}|jd}|j	||j
|j	||j||j||g|j|j|j|jdS(Nsmultipart/mixediii(
RCRcRBRRDRKR*RVt
IndexErrorR:RZR?R(R1REtraisesRtm0tm1((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_hierarchys			cCs2d}tj|}|j||jdS(NsContent-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain


--BOUNDARY


--BOUNDARY--
(RRkR8Rh(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_empty_multipart_idempotents
cCsTtdd}d|d<d|d<d|d<|jd	|j|jd
dS(NRORPs	A subjectRsaperson@dom.ainRsbperson@dom.ainRR]sContent-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((s1/usr/local/lib/python2.7/email/test/test_email.pyt/test_no_parts_in_a_multipart_with_none_epilogues




cCsftdd}d|d<d|d<d|d<d	|_d	|_|jd
|j|jddS(NRORPs	A subjectRsaperson@dom.ainRsbperson@dom.ainRRR]sContent-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((s1/usr/local/lib/python2.7/email/test/test_email.pyt0test_no_parts_in_a_multipart_with_empty_epilogues


		
cCss|j}tdd}d|d<d|d<d|d<|jd	td
}|j|||jddS(NRORPs	A subjectRsaperson@dom.ainRsbperson@dom.ainRR]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<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_one_part_in_a_multiparts	




cCs||j}tdd}d|d<d|d<d|d<d	|_td
}|j||jd||jddS(
NRORPs	A subjectRsaperson@dom.ainRsbperson@dom.ainRRshello 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<((s1/usr/local/lib/python2.7/email/test/test_email.pyt1test_seq_parts_in_a_multipart_with_empty_preambles	


	

cCs||j}tdd}d|d<d|d<d|d<d|_td	}|j||jd
||jddS(NRORPs	A subjectRsaperson@dom.ainRsbperson@dom.ainRshello 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<((s1/usr/local/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
||jddS(NRORPs	A subjectRsaperson@dom.ainRsbperson@dom.ainRshello 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<((s1/usr/local/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||jddS(
NRORPs	A subjectRsaperson@dom.ainRsbperson@dom.ainRRshello 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<((s1/usr/local/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||jddS(
NRORPs	A subjectRsaperson@dom.ainRsbperson@dom.ainRs
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<((s1/usr/local/lib/python2.7/email/test/test_email.pyt.test_seq_parts_in_a_multipart_with_nl_epilogue\s	


	

cCs|j}|jd}|t|jd|jd}||jd|t|jdxb|jD]T}||jd|t|jd|jd}||jdqyWdS(Ns
msg_36.txtiismultipart/alternativesmessage/external-bodyis
text/plain(RCR=R*RVRK(R1RER<tmsg1RZt
subsubpart((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_message_external_bodyws	cCs/|jd}|jt|jddS(Ns
msg_37.txti(R=RCR*RV(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_double_boundaryscCsH|j}|jd}t}tj||||jddS(Ns
msg_38.txtsmultipart/mixed
    multipart/mixed
        multipart/alternative
            text/plain
        text/plain
    text/plain
    text/plain
(R8R=RRt
_structureR0(R1RER<R~((s1/usr/local/lib/python2.7/email/test/test_email.pyt)test_nested_inner_contains_outer_boundarys		cCsH|j}|jd}t}tj||||jddS(Ns
msg_39.txtsmultipart/mixed
    multipart/mixed
        multipart/alternative
        application/octet-stream
        application/octet-stream
    text/plain
(R8R=RRRxR0(R1RER<R~((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_nested_with_same_boundarys		cCs)|jd}|j|jddS(Ns
msg_40.txtsMIME-Version: 1.0
Content-Type: text/html; boundary="--961284236552522269"

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

<html></html>

----961284236552522269--
(R=RCRh(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_boundary_in_non_multipartscCs[|j}tjd}|j|j||jd|t|jddS(NsMIME-Version: 1.0
Content-Type: multipart/mixed; boundary="    XXXX"

--    XXXX
Content-Type: text/plain


--    XXXX
Content-Type: text/plain

--    XXXX--
s    XXXXi(RCR9RRRDR^R*RV(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyt test_boundary_with_leading_spaces		cCs5tjd}|j|jdjddS(NsContent-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((s1/usr/local/lib/python2.7/email/test/test_email.pyt&test_boundary_without_trailing_newlines	
	(R>R?R$RgRhRjRmRnRoRpRqRrRsRvRwRyRzR{R|R}(((s1/usr/local/lib/python2.7/email/test/test_email.pyRNcs$	(											
					tTestNonConformantcBsYeZdZdZdZdZdZdZdZdZ	dZ
RS(	cCsU|j}|jd}||jd||jd||jddS(Ns
msg_14.txts
text/plainRR(RCR=RKRR(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_parse_missing_minor_types
	cCsk|jd}|jd}|jt|d|jt|jd|j|jdtj	dS(Ns
msg_15.txtitdefectsi(
R=RVRthasattrRCR*RtassertIsInstanceRtStartBoundaryNotFoundDefect(R1R<tinner((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_same_boundary_inner_outerscCsv|jd}|j|jt|jt|jd|j|jdtj|j|jdtj	dS(Ns
msg_25.txtiii(
R=RRVR*RCR*RRtNoBoundaryInMultipartDefectt!MultipartInvariantViolationDefect(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_multipart_no_boundarys
cCs|j}|j}t}d|d<||jd||jd||jd|d=d|d<||jd||jd||jdt}t|}|j|||j	ddS(NRsContent-TypeRs
text/plainscontent-typeRxsContent-Type: foo

(
RCR8RRRRKRR	RmR0(R1REtneqR<RR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_invalid_content_types 			

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

message 1

--BOUNDARY
Content-Type: text/plain

message 2

--BOUNDARY--
(R8R=RV(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_no_start_boundarys	cCs/|j}|jd}||jddS(Ns
msg_35.txtsFrom: 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<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_no_separating_blank_line"s	cCsv|jd}|jt|d|jt|jd|j|jdtj|j|jdtj	dS(Ns
msg_41.txtRiii(
R=RRRCR*RRRRR(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_lying_multipart-s
cCs^|jd}|jdjd}|jt|jd|j|jdtjdS(Ns
msg_42.txtii(R=RVRCR*RRRR(R1Ritbad((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_missing_start_boundary6s
	cCs|j}d}tj|}||jg||jd|t|jd|j|jdtj	||jdj
ddS(Ns Line 1
Line 2
Line 3s
Line 2
Line 3iis Line 1
(RCR9RRRVR*RRRt#FirstHeaderLineIsContinuationDefecttline(R1RERR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt&test_first_line_is_continuation_headerEs	
(R>R?RRRRRRRRR(((s1/usr/local/lib/python2.7/email/test/test_email.pyR~s											tTestRFC2047cBsGeZdZdZdZdZdZdZdZRS(cCsQ|j}d}t|}||ddd	d
g|tt|ddS(NsVRe: =?mac-iceland?q?r=8Aksm=9Arg=8Cs?= baz
 foo bar =?mac-iceland?q?r=8Aksm=9Arg=8Cs?=sRe:s
rksmrgssmac-icelandsbaz foo barsVRe: =?mac-iceland?q?r=8Aksm=9Arg=8Cs?= baz foo bar
 =?mac-iceland?q?r=8Aksm=9Arg=8Cs?=(sRe:N(s
rksmrgssmac-iceland(sbaz foo barN(s
rksmrgssmac-iceland(RCRRIR*R(R1RERtdh((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_rfc2047_multilineUs	
cCsZ|j}d}t|}||ddgtt|jd}||ddS(	Ns0=?ISO-8859-1?Q?Andr=E9?= Pirard <pirard@dom.ain>sAndrs
iso-8859-1sPirard <pirard@dom.ain>slatin-1sAndr Pirard <pirard@dom.ain>(sAndrs
iso-8859-1(sPirard <pirard@dom.ain>N(RCRRItunicodeRR(R1RERRthu((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_whitespace_eater_unicodecs	cCsW|j}d}t|}||dd	d
dgt|j}||ddS(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(RN(squick brown foxs
iso-8859-1(sjumped over theN(slazy dogs
iso-8859-1(RCRRIRt__unicode__(R1RERRR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_whitespace_eater_unicode_2ks	
cCs/d}t|}|j||dfgdS(Ns3Sm=?ISO-8859-1?B?9g==?=rg=?ISO-8859-1?B?5Q==?=sbord(RRCRI(R1RR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_rfc2047_without_whitespacetscCs5d}t|}|j|dd	d
ddgdS(
Ns7Sm =?ISO-8859-1?B?9g==?= rg =?ISO-8859-1?B?5Q==?= sbordtSmss
iso-8859-1trgstsbord(RN(ss
iso-8859-1(RN(ss
iso-8859-1(RN(RRCRI(R1RR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_rfc2047_with_whitespaceys
cCs_d}d
ddd
dg}x=|D]5\}}t||}|j||d	fgq"WdS(Ns=?iso-8859-1?B?%s?=sdm==tvsdm=tdmsdmk=tvitdmks
iso-8859-1(sdm==R(sdm=R(RR(sdmk=R(RR(RRC(R1RRtqtaR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_rfc2047_B_bad_paddings	cCs#d}|jt|dgdS(Ns=?iso-8859-1?Q?andr=e9=zz?=sandr=zzs
iso-8859-1(sandr=zzs
iso-8859-1(RCR(R1R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_rfc2047_Q_invalid_digitss(	R>R?RRRRRRR(((s1/usr/local/lib/python2.7/email/test/test_email.pyRTs							
tTestMIMEMessagecBseZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZRS(cCs1td}z|j|_Wd|jXdS(Ns
msg_11.txt(R(Rjt_textR;(R1R7((s1/usr/local/lib/python2.7/email/test/test_email.pyR$scCs|jttddS(Nsa plain string(Rct	TypeErrorR(R1((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_type_errorscCs|j}d}t}||d<t|}||jd|j}|j|t|t|d|d}|j||||d|dS(Ns
A sub-messageRsmessage/rfc822iitsubject(	RCRRRKRVRtlistR*R:(R1RERRRR3RZ((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_valid_arguments		

cCsX|j}t}d|d<t}d|d<t|}|jtj|j|dS(Ns	subpart 1Rs	subpart 2(RCRRRcRtMultipartConversionErrorRT(R1RERttmsg2R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_bad_multiparts		
	
cCsrt}d|d<|jdt|}d|d<t}t|}|j||j|jddS(NsAn enclosed messageRs!Here is the body of the message.
sThe enclosing messagesContent-Type: message/rfc822
MIME-Version: 1.0
Subject: The enclosing message

Subject: An enclosed message

Here is the body of the message.
(RRPRRR	RmRCR0(R1RRRR((s1/usr/local/lib/python2.7/email/test/test_email.pyt
test_generates	


	
cCs|j}|jd}||jd|j}|j|t|t|d|d}|j|t||dd||jddS(Ns
msg_11.txtsmessage/rfc822iiRsAn enclosed messages!Here is the body of the message.
(RCR=RKRVRRR*R(R1RER<R3tsubmsg((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_parse_message_rfc822s	
cCs-|j}|jd}||jd|j|j|t|jd|jd}||jd||jd|jd}||jd|t|jd	|jd}|j|t||d
d||j	dd
dd||j	dd
dd|jd}|j|t||dd||jd
dddg||j	dd
dd|jd	}||jd|j}|j|t|t|d|d}|j|t||jd||dddS(Ns
msg_16.txtsmultipart/reportiis
text/plainsThis 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-recipientRsjangel1@cougar.noc.ucla.edusfinal-recipientsmessage/rfc822s
message-ids(<002001c144a6$8752e060$56104586@oxy.edu>(RR(sjangel1@cougar.noc.ucla.eduR(
RCR=RKRRDR*RVRRRLRIRR(R1RER<RZtdsn1tdsn2R3Ru((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_dsnsB	


c	Cs|j}td}z|j}Wd|jXt}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.ainRsbperson@dom.ainRR	RsMIME messagesEnd of MIME message
RRsContent-Typesmultipart/mixedRR](R8R(RjR;RRkRlR
RRTRR	RmR0(	R1RER7RR<RtRR~R((s1/usr/local/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|||jddS(Nsaperson@dom.ainRsbperson@dom.ainRR	RsMIME messageRRRsContent-Typesmultipart/mixedRR]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
RRTRh(R1RER<RtR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_no_nl_preamble$s		


		

cCs|j}td}ztj|}Wd|jX|jd}||jd||jd|jd}||jd||jd|jd}||jd||jd|jd}||jd||jddS(Ns
msg_30.txtismessage/rfc822is
text/plain(RCR(R9R:R;RVtget_default_typeRK(R1RER7R<t
container1t
container2tcontainer1atcontainer2a((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_default_typeGs"	cCs|j}td}ztj|}Wd|jX|jd}||jd||jd|jd}||jd||jd|jd}||jd||jd|jd}||jd||jddS(Ns
msg_28.txtismessage/rfc822is
text/plain(RCR(R9R:R;RVRRK(R1RER7R<RRRR((s1/usr/local/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|||jd||jd||jd||jd||j	dd|d	=|d
=|d	=|d
=||jd||jd||jd||jd||j	dddS(NtdigestR]Rs
message 1
s
message 2
smessage/rfc822isContent-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
RRTRKRRh(R1RERR[t	subpart1at	subpart2atsubpart1tsubpart2((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_default_type_non_parsedos4			

cCs|j}td}td}td||f}|t|jd||jd|||jd|dS(NRt	_subpartsiii(RCR
RR*RV(R1REttext1ttext2R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt$test_mime_attachments_in_constructors	cCs t}|j|jdS(N(RRRD(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt"test_default_multipart_constructors	(R>R?R$RRRRRRRRRRRRR(((s1/usr/local/lib/python2.7/email/test/test_email.pyRs								9		#			J		tTestIdempotentcBseZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZRS(cCsCt|}z|j}Wd|jXtj|}||fS(N(R(RjR;R9R(R1R&R7RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyR=scCsH|j}t}t|dd}|j||||jdS(Ntmaxheaderleni(R8RR	RmR0(R1R<RRERR((s1/usr/local/lib/python2.7/email/test/test_email.pyt_idempotents
		
cCs|j}|jd\}}||jd||jd||jd||jdd||jdd||jd||j	d|j
||dS(	Ns
msg_01.txts
text/plainRRiRGsus-ascii(RGsus-ascii(RCR=RKRRRRLRkRIRlR(R1RER<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_parse_text_messages	cCsn|j}|jd\}}||jd||jd||jdd|j||dS(Ns
msg_03.txts
text/plainRG(RCR=RKRRIRLR(R1RER<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_parse_untyped_messages	cCs)|jd\}}|j||dS(Ns
msg_04.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_simple_multipartscCs)|jd\}}|j||dS(Ns
msg_02.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_MIME_digestscCs)|jd\}}|j||dS(Ns
msg_27.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_long_headerscCs)|jd\}}|j||dS(Ns
msg_28.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyt"test_MIME_digest_with_part_headersscCs)|jd\}}|j||dS(Ns
msg_06.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_mixed_with_imagescCs)|jd\}}|j||dS(Ns
msg_05.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_multipart_reportscCs)|jd\}}|j||dS(Ns
msg_16.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyR	scCs)|jd\}}|j||dS(Ns
msg_21.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_preamble_epilogue
scCs)|jd\}}|j||dS(Ns
msg_23.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_multipart_one_partscCs)|jd\}}|j||dS(Ns
msg_24.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_multipart_no_partsscCs)|jd\}}|j||dS(Ns
msg_31.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyRscCs)|jd\}}|j||dS(Ns
msg_32.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_rfc2231_charsetscCs)|jd\}}|j||dS(Ns
msg_33.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_more_rfc2231_parameters!scCs)|jd\}}|j||dS(Ns
msg_34.txt(R=R(R1R<R((s1/usr/local/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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_nested_multipart_mixeds)scCs)|jd\}}|j||dS(Ns
msg_36.txt(R=R(R1R<R((s1/usr/local/lib/python2.7/email/test/test_email.pyt%test_message_external_body_idempotent-scCs|j}|jd\}}||jdi}x$|jD]\}}|||<qDW||dd||dd||jd||jd|t|jd	|jd
}||jd||jd|jd
}||jd||jd|jd}	||	jd|j|	t	|	j}
|j|
t
|t|
d
|
d
}|j|t	||jddS(Ns
msg_05.txtsmultipart/reportsreport-typesdelivery-statusRs%D1690A7AC1.996856090/mail.example.coms%This is a MIME-encapsulated message.
s
iis
text/plainsYadda yadda yadda
iismessage/rfc822(RCR=RKRRkRlR*RVRRR(R1RER<RtparamstpktpvRtRtmsg3R3tmsg4((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_content_type1s4	
cCs|j}|jd\}}||jd|j}|j|t|t|d|d}|j|t||jd|j|jt||jddS(Ns
msg_06.txtsmessage/rfc822iis
text/plains
(	RCR=RKRVRRR*RR*(R1RER<RR3Rt((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_parserPs	
(R>R?R=RRRRRRRRRRRRRRRRRRRRR(((s1/usr/local/lib/python2.7/email/test/test_email.pyRs,																						tTestMiscellaneouscBsCeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$RS(#cCs{td}z|j}Wd|jXtj|}t}t|dd}|j||j||j	dS(Ns
msg_01.txtRi(
R(RjR;R9RRR	RmRCR0(R1R7RR<RR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_message_from_stringds	
cCstd}zj|j}|jdtj|}t}t|dd}|j||j||j	Wd|j
XdS(Ns
msg_01.txtiR(R(RjtseekR9R:RR	RmRCR0R;(R1R7RR<RR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_message_from_filers
	
cCstd}z|j}Wd|jXdtfdY}tj||}|j||td}z|j}Wd|jXtj||}x$|jD]}|j||qWdS(Ns
msg_01.txtt	MyMessagecBseZRS((R>R?(((s1/usr/local/lib/python2.7/email/test/test_email.pyRss
msg_02.txt(R(RjR;RR9RRtwalk(R1R7RRR<RZ((s1/usr/local/lib/python2.7/email/test/test_email.pyt#test_message_from_string_with_classscCsdtfdY}td}ztj||}Wd|jX|j||td}ztj||}Wd|jXx$|jD]}|j||qWdS(NRcBseZRS((R>R?(((s1/usr/local/lib/python2.7/email/test/test_email.pyRss
msg_01.txts
msg_02.txt(RR(R9R:R;RR(R1RR7R<RZ((s1/usr/local/lib/python2.7/email/test/test_email.pyt!test_message_from_file_with_classsc"Cstd}|j}|j|j|dddddddd	d
ddd
ddddddddddddddddddd d!g dS("NR9RRRR	RRRRRRRtMIMENonMultipartR
RRRRt
base64mimeRGtencodersterrorst	generatorRet	iteratorsRR:RtmimeRpRt
quoprimimetutils(t
__import__t__all__tsortRC(R1tmoduletall((s1/usr/local/lib/python2.7/email/test/test_email.pyttest__all__s	
					cCsCtj}|jtjtj|d tj|d dS(Ni(RURCRt	parsedatet
formatdatetgmtime(R1R^((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_formatdatescCsItj}|jtjtj|dtd tj|d dS(NRVi(RURCRRRRlRV(R1R^((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_formatdate_localtimescCs~tj}|jtj|dttjdtj||jtj|dtdttjdtj|dS(NRVs%a, %d %b %Y %H:%M:%S -0000tusegmts%a, %d %b %Y %H:%M:%S GMT(RURCRRRnRYRRl(R1R^((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_formatdate_usegmtscCs|jtjdddS(NR(RCRRRI(R1((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_parsedate_nonescCs&|jtjdtjddS(NsWed,3 Apr 2002 14:58:26 +0800sWed, 3 Apr 2002 14:58:26 +0800(RCRR(R1((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_parsedate_compactscCs#|j}|tjdddS(
Ns25 Feb 2003 13:47:26 -0800iiii
i/iiiii(
iiii
i/iiiii(RCRtparsedate_tz(R1RE((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_parsedate_no_dayofweeks	cCs#|j}|tjdddS(
Ns5 Feb 2003 13:47:26 -0800iiii
i/iiiii(
iiii
i/iiiii(RCRR(R1RE((s1/usr/local/lib/python2.7/email/test/test_email.pyt#test_parsedate_compact_no_dayofweeks	cCs|j}tjd}ttj|}|tj|d |d |ttjd|dtjd}ttj|d }|tj|d |d |ttjd|d ddS(Ns5 Feb 2003 13:47:26 -0800is%Yii	(	RCRRtintRUtmktimeRVRYR(R1REttimetupR((s1/usr/local/lib/python2.7/email/test/test_email.pyt+test_parsedate_acceptable_to_time_functionss	cCs6|jtjdd|jtjdddS(	Niiiiii.(
iiiiiiiiii(
iiiiiiiiii(RCRt	mktime_tz(R1((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_mktime_tzs
cCsH|jtjdtjd|jtjdtjddS(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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_parsedate_y2kscCs?|jtjdd|jtjtjdddS(Ns<>R(RR(RCRt	parseaddrt
formataddr(R1((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_parseaddr_empty	scCsO|jtjdd|jtjdd|jtjdddS(Nsa@b@cRsa@b.c@csa@172.17.0.1@c(RR(RR(RR(RCRR(R1((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_parseaddr_multiple_domains	scCs|jtjdddS(NsA Silly Personsperson@dom.ainsA Silly Person <person@dom.ain>(sA Silly Personsperson@dom.ain(RCRR(R1((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_noquote_dump	scCsW|jtjddd}d}|jtjtj||f||fdS(NsA (Very) Silly Personsperson@dom.ains*"A \(Very\) Silly Person" <person@dom.ain>sA \(Special\) Person(sA (Very) Silly Personsperson@dom.ain(RCRRR(R1Rtb((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_escape_dump	scCsW|jtjddd}d}|jtjtj||f||fdS(NsArthur \Backslash\ Foobarsperson@dom.ains."Arthur \\Backslash\\ Foobar" <person@dom.ain>(sArthur \Backslash\ Foobarsperson@dom.ain(RCRRR(R1RR((s1/usr/local/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(R1RtyRR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_name_with_dot(	scCsO|j}|tjdd|tjdd|tjdddS(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((s1/usr/local/lib/python2.7/email/test/test_email.pyt2test_parseaddr_preserves_quoted_pairs_in_addresses1	s
	cCs#d}|jtj|ddS(NsFoo
	Bar <foo@example.com>sFoo Barsfoo@example.com(sFoo Barsfoo@example.com(RCRR(R1R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_multiline_from_commentC	scCs|jtjdddS(NsA Silly; Personsperson@dom.ains""A Silly; Person" <person@dom.ain>(sA Silly; Personsperson@dom.ain(RCRR(R1((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_quote_dumpI	scCs{|j}|tjdd|tjdd|tjdd|tjdd|tjdddS(Nthelloshello
shello
shello
shello

s	hello

(RCRtfix_eols(R1RE((s1/usr/local/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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_charset_richcomparisonsV	s$				












cCs/|j}|tjddgddgdS(	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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_getaddressesj	s
		cCsm|j}|tjdgdg|tjdgd	d
dg|tjddgdd
gdS(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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_getaddresses_nastyq	s				cCs4|j}tjdg}||ddddS(s(Test proper handling of a nested comments%User ((nested comment)) <foo@bar.com>iisfoo@bar.comN(RCRR-(R1REtaddrs((s1/usr/local/lib/python2.7/email/test/test_email.pyt"test_getaddresses_embedded_comment{	s	cCsdtfdY}gtdD]}|^q#}t|WdQXtg|D]}|j^qUg}|jtt|t|dS(NtMsgidsThreadcBseZdZRS(cSs[g|_|jj}tj}tj}|d}x ||krV||q7WdS(Ng@(tmsgidsRRt
make_msgidRU(R1RR4tclockttfin((s1/usr/local/lib/python2.7/email/test/test_email.pytrun	s			
(R>R?R7(((s1/usr/local/lib/python2.7/email/test/test_email.pyR2	si(RRRtsumR3RCR*tset(R1R2RtthreadsRtall_ids((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_make_msgid_collisions	s"
%cCs?|j}t}|jdddd||jddS(Nscontent-dispositionRR&sfoo\wacky"name(RCRRRW(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_utils_quote_unquote	s
		cCs&td}|j|jddS(Ns
not a charsetR(RRCtget_body_encoding(R1RG((s1/usr/local/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||ddt|d}||jd|jdd	|||jd
||jdtd||ddt}d
|d<|j}|t|d||ddt|d}||jt	j
|jdd	|||jd||dddS(Nstext/plain; charset=UTF-8sContent-Typescontent-typeiisutf-8Rshello worldRGsaGVsbG8gd29ybGQ=
Rtscontent-transfer-encodingstext/plain; charset="US-ASCII"sus-asciiR(RCRRSR*RR>RPRVRlRtencode_7or8bit(R1RER<RTRG((s1/usr/local/lib/python2.7/email/test/test_email.pyt-test_get_body_encoding_with_uppercase_charset	s.		
	
cCs8td}td}|j|j|jdS(Nsus-asciisUS-ASCII(RRCR>(R1tlctuc((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_charsets_case_insensitive	scCsH|j}|jd}t}tj||||jddS(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~((s1/usr/local/lib/python2.7/email/test/test_email.pyt1test_partial_falls_inside_message_delivery_status	s		(%R>R?RRRRRRRRR	R
RR
RRRRRRRRRRR R!R$R,R.R/R1R<R=R?RARDRE(((s1/usr/local/lib/python2.7/email/test/test_email.pyRcsF																
														
						t
TestIteratorscBs5eZdZdZdZdZdZRS(cCs|j}|j}|jd}tj|}t|}|t|d|tj||j	|jd}tj|}t|}|t|dt
d}z |tj||jWd|jXdS(Ns
msg_01.txtis
msg_02.txti+s
msg_19.txt(
RCR8R=Rtbody_line_iteratorRR*tEMPTYSTRINGR"RVR(RjR;(R1RERR<titRR7((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_body_line_iterator	s		 cCs|j}|jd}tj|d}g}d}x+|D]#}|d7}|j|jq=W||d|tj|ddS(Ns
msg_04.txtRiiis`a simple kind of mirror
to reflect upon our own
a simple kind of mirror
to reflect upon our own
(RCR=Rttyped_subpart_iteratorRRVRHR"(R1RER<RIRtsubpartsRZ((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_typed_subpart_iterator
s	


cCs|j}|jd}tj|dd}g}d}x+|D]#}|d7}|j|jq@W||d|tj|ddS(Ns
msg_03.txtRRiis%
Hi,

Do you like this message?

-Me
(RCR=RRKRRVRHR"(R1RER<RIRRLRZ((s1/usr/local/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}	qW|j||	qPW|jt|||jdj	g|D]\}}|^qdj	|dS(sFeedParser 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.feedparserRORPtpushtitertreadlineRRCR*R"(R1timtRORPtbsftomtnttiltntn1tol((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_pushCR_LF$
s,		


csddlm}m}d}d}ddjfdt|Dd}|jt}|}g}xWtd	t||D]=}	||	|	|!}
|j|
|j	t
|j|qW|j||dS(
Ni(RORPi'isabcd 	
Rc3s|]}tVqdS(N(R(t.0R(tchars(s1/usr/local/lib/python2.7/email/test/test_email.pys	<genexpr>I
ss
i(
RQRORPR"RR-RlR*RRtextendRSRTRC(R1RORPRZt	chunksizeRttargetRVRRtchunk((R_s1/usr/local/lib/python2.7/email/test/test_email.pyttest_push_randomB
s)	
(R>R?RJRMRNR]Rd(((s1/usr/local/lib/python2.7/email/test/test_email.pyRF	s
				tTestFeedParserscBs#eZdZdZdZRS(cCsAddlm}|}x|D]}|j|q W|jS(Ni(t
FeedParser(RQRftfeedR;(R1tchunksRft
feedparserRc((s1/usr/local/lib/python2.7/email/test/test_email.pytparseW
s
	
cCs|jdg}|j|jddddg|jdg}|j|jddddg|jddg}|j|jdd	g|jd
dg}|j|jddg|jd
dg}|j|jddgdS(
Ns
a:
b:
c:
d:
RRtctdsa:
b:
c:
d:sa:
bsc:
tbcsa:
sb:
s
b:
(RjRCR(R1R((s1/usr/local/lib/python2.7/email/test/test_email.pyt
test_newlines^
s""cCsd\}}|jdgd|g|}|j|jdg|j|jd|||jdgd|g|}|j|jd
g|j|jd|||jdd	gd|g|}|j|jddd||fgdS(Nii Nsa:b

RRRsa:b

sa:
sb: R(ii N(RR(RR(RR(RjRCRaRV(R1tMtNR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_long_linesj
s!!$(R>R?RjRnRq(((s1/usr/local/lib/python2.7/email/test/test_email.pyReU
s		tTestParserscBskeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZRS(cCs|j}td}ztj|}Wd|jX||dd||dd||jd|j|j|j|j	t
dS(Ns
msg_02.txtRsppp-request@zzz.orgRsppp@zzz.orgsmultipart/mixed(RCR(RRjR;RKRRDRRVR*(R1RER7R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_header_parserx
s	cCsQ|j}tjd}||dd||dd||jddS(NsFrom: 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
Rs!the next line has a space on it
 s
message-idtspamsHere's the message body
(RCR9RRV(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_whitespace_continuation
s			cCsQ|j}tjd}||dd||dd||jddS(NsFrom: 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
Rs!the next line has a space on it
 s
message-idRtsHere's the message body
(RCR9RRV(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyt(test_whitespace_continuation_last_header
s			cCs|j}tddd}ztj|}Wd|jX|t|jd|jd}||jd||jd|jd}||jd	dS(
Ns
msg_26.txtR'R-iis
text/plains!Simple email with attachment.

isapplication/riscos(RCR(RRjR;R*RVRK(R1RER7R<tpart1tpart2((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_crlf_separation
s	c	Cs|j}|j}td}ztj|}Wd|jX||jd|t|jd|jd}||j	d||jd|t|jd|jd}||jd||j	d||jd|jd}||j	d||jd|t|jd|jd}||jd||j	d||jddS(	Ns
msg_28.txtiiismessage/rfc822s
text/plains
message 1
s
message 2
(
RCR8R(R9R:R;RDR*RVRK(	R1RERR7R<Rwtpart1aRxtpart2a((s1/usr/local/lib/python2.7/email/test/test_email.pyt-test_multipart_digest_with_extra_mime_headers
s0		cCs?dddg}tjtj|}|j|dddS(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(R9RR.R"RC(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_three_lines
s
	cCsd|j}d}d}d||f}tj|}||jd|||jd|dS(NRs	more texts'Header: %s
Next-Header: %s

Body

RsNext-Header(RCR9Rtget(R1REtvalue1tvalue2RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt3test_strip_line_feed_and_carriage_return_in_headers
s	
cCsz|j}d}tj|}|t|jd|j}|j||dddg||jddS(Ns(>From: foo
From: bar
!"#QUX;~: zoo

bodyis!"#QUX;~s>FromRtbody(RCR9RR*RRRV(R1RERR<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_rfc2822_header_syntax
s	
cCs;|j}d}tj|}|t|jddS(Ns<>From foo@example.com 11:25:53
From: bar
!"#QUX;~: zoo

bodyi(RCR9RR*R(R1RERR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt(test_rfc2822_space_not_allowed_in_header
s	cCsa|j}d}tj|}|j}|j||dddg||jddS(Ns7A: first header
B: second header
CC: third header

bodytAtBtCCR(RCR9RRRRV(R1RERR<theaders((s1/usr/local/lib/python2.7/email/test/test_email.pyt!test_rfc2822_one_character_header
s	
cCs>d}tj|}|j|jdjjddS(NsFrom: 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
(R9RRRVtendswith(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_CRLFLF_at_end_of_parts(
R>R?RsRuRvRyR|R~RRRRR(((s1/usr/local/lib/python2.7/email/test/test_email.pyRrw
s					"			
			t
TestBase64cBs,eZdZdZdZdZRS(cCs|j}|tjdttjdddxtdD]}|dkr\d}nZ|dkrqd}nE|dkrd	}n0|d
krd}n|dkrd}nd
}|tjd||qAWdS(NR"teolRiiiiiii	iiiR(RCRt
base64_lenR*RR(R1REtsizetbsize((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_lens 						cCsk|j}|tjdd|tjdd|tjddd|tjddddS(NRsaGVsbG8=R"tXsaGVsbG8NCndvcmxk
thelloXworld(RCRRt(R1RE((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_decode(s
	cCs|j}|tjdd|tjdd|tjdd|tjddd|tjdd	d
dd|tjdd	d
dd
dddS(NRR"s	aGVsbG8=
shello
s	aGVsbG8K
is
aGVsbG8NCg==
sxxxx iRi(seHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IA==
Rs
seHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IA==
(RCRR(R1RE((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_encode/s	cCs|j}tj}||dd||dd||dddd||ddtd	||d
ddd
d||d
ddd
ddddS(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?=Rs
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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_header_encodeEs		(R>R?RRRR(((s1/usr/local/lib/python2.7/email/test/test_email.pyRs	
		t
TestQuopricBsYeZdZdZdZdZdZdZdZdZ	dZ
RS(	cCsgttdtddD]}t|^q gttdtddD]}t|^qUgttdtddD]}t|^qdd	d
ddd
g|_gtdD]'}t||jkrt|^q|_gttd
tddD]}t|^qdg|_|jjdgtdD]'}t||jkrYt|^qY|_dS(NRtziRtZt0t9t!t*RRRQt/Rit~s	t=(Rtordtchrthlitthnontblittremovetbnon(R1R((s1/usr/local/lib/python2.7/email/test/test_email.pyR$cs=B=cCsXx'|jD]}|jtj|q
Wx'|jD]}|jtj|q4WdS(N(RRRtheader_quopri_checkRR(R1Rk((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_header_quopri_checkoscCsXx'|jD]}|jtj|q
Wx'|jD]}|jtj|q4WdS(N(RRRtbody_quopri_checkRR(R1Rk((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_body_quopri_checkusc
Cs|j}tj}tj}x=d	D]5}|||t||dddddq"Wx$|jD]}|||dqeWx$|jD]}|||dqWdS(
NR"s
h@e@l@l@o@RGRRiii(R"s
h@e@l@l@o@(RCRtheader_quopri_lenRR*RR(R1REthqltencRRk((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_header_quopri_len{s			
3cCsd|j}tj}x$|jD]}|||dqWx$|jD]}|||dqCWdS(Nii(RCRtbody_quopri_lenRR(R1REtbqlRk((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_body_quopri_lens		cCsIxBtdD]4}t|}|jtjtj||q
WdS(Ni(RRRCRRtquote(R1RRk((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_quote_unquote_idempotentscCs|j}tj}||dd||dd||dddd||ddtd	||d
d||dd
ddd||dd
ddddddS(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?=Rs=?iso-8859-1?q?hello=0Aworld?=shellotheres=?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_?=Rs
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_?=(RCRRRl(R1RER((s1/usr/local/lib/python2.7/email/test/test_email.pyRs		cCsk|j}|tjdd|tjdd|tjddd|tjddddS(NRR"Rshello
worldR(RCRRt(R1RE((s1/usr/local/lib/python2.7/email/test/test_email.pyRs
	cCs|j}|tjdd|tjdd|tjdd|tjddd|tjdddd	d
|tjdddd	ddd
|tjdddS(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=20Rs
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((s1/usr/local/lib/python2.7/email/test/test_email.pyRs		(R>R?R$RRRRRRRR(((s1/usr/local/lib/python2.7/email/test/test_email.pyRbs								tTestCharsetcBs5eZdZdZdZdZdZRS(cCs6ddlm}y|jd=Wntk
r1nXdS(Ni(Rtfake(R9RtCHARSETSR(R1t
CharsetModule((s1/usr/local/lib/python2.7/email/test/test_email.pyttearDowns

cCso|j}td}d}|j|}|||j|d}|j|}|||j|dS(Nsus-asciisHello World!s
(RCRt
to_splittabletfrom_splittable(R1RERkRtsp((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_idempotents	cCs|j}td}|d|jdtd}|d|jdtd}|d|jdtd}y3|d	|jd
|d
|jd
tWntk
rnXddlm}|jd
|jdtd
}|d|jddS(Ns
iso-8859-1s
hello w=F6rldshello wrldsutf-8saGVsbG8gd29ybGQ=
shello worldsus-asciiseuc-jps$B5FCO;~IW(Bsϻi(RR(	RCRtbody_encodeRntLookupErrorR9tadd_charsettQPRI(R1RERkR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_body_encodes&	
cCs<td}|jt|d|jtjtddS(Nuus-asciisus-asciisascii(RRCR*RcRtCharsetError(R1RG((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_unicode_charset_namescCs&td}|jt|ddS(NRsutf-8(RRCR*(R1RG((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_codecs_aliases_accepteds(R>R?RRRRR(((s1/usr/local/lib/python2.7/email/test/test_email.pyRs
				t
TestHeadercBseZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZRS(cCsL|j}td}||jd|jd||jddS(NsHello World!s Goodbye World!sHello World!  Goodbye World!(R8RRR(R1RER((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_simples
	
cCsL|j}td}||jd|jd||jddS(NsHello World!sGoodbye World!sHello World! Goodbye World!(R8RRR(R1RER((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_simple_surprises
	
cCs)d}|jt||dfgdS(Nsno decoding needed(RCRRI(R1R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_header_needs_no_decodingscCsRtddd}x9|jddjdD]}|jt|dq.WdS(NsI 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
 (RRRtassertLessEqualR*(R1Rtl((s1/usr/local/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|dfgt|}
||
jddtt|	}|||	dS(	Ns
iso-8859-1s
iso-8859-2sutf-8sDie Mieter treten hier ein werden mit einem Foerderband komfortabel den Korridor entlang, an sdlndischen Wandgemlden vorbei, gegen die rotierenden Klingen befrdert. s;Finanni metropole se hroutily pod tlakem jejich dvtipu.. 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?=sDie 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.」と言っています。(R8RRRRRRR(R1RERRRRRRRRtustrtnewh((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_multilingual's*	cCsF|j}t}||d|jdtd||ddS(NRRxs
iso-8859-1s=?iso-8859-1?q?foo?=(R8RRR(R1RER((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_header_ctor_default_argsXs
		
cCs|j}d}t|}||jdt|dd}||jdt|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 behaviorRRs}A very long line that must get split to something other than at the
 76th character boundary to test the non-default behaviorRi(R8RR(R1RERR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_explicit_maxlinelen_s	cCsN|j}d}t|}||dgt|}|||jdS(NR"(R"N(RCRRIRR(R1RERRR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_us_ascii_headerms	cCs3|j}t}|jdd||ddS(NR"s
iso-8859-1s=?iso-8859-1?q?hello?=(RCRR(R1RER((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_string_charsetus		cCsQ|j}tdd}||jdtdd}||jddS(Nupöstalsutf-8s=?utf-8?q?p=C3=B6stal?=u菊地時夫s=?utf-8?b?6I+K5Zyw5pmC5aSr?=(RCRR(R1RER((s1/usr/local/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 BigRR(RcRCtUnicodeErrorRRR*(R1RdRERR((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_bad_8bit_headers			cCsq|j}t}|jdd|jd|j}||dtt|}||j|dS(NR"s
iso-8859-1tworlds=?iso-8859-1?q?hello?= world(RCRRRRR(R1RERR((s1/usr/local/lib/python2.7/email/test/test_email.pyt test_encoded_adjacent_nonencodeds		

cCsT|j}d}t|}||ddd	gt|}||jddS(
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(R1RERtpartsthdr((s1/usr/local/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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_broken_base64_headers	cCs7t}|jdddd|jd|ddS(NsContent-DispositionRR&sbud.gifsattachment; filename="bud.gif"(RRRC(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_ascii_add_headers
		cCs7t}|jdddd|jd|ddS(	NsContent-DispositionRR&s
iso-8859-1Rs
Fuballer.ppts3attachment; filename*="iso-8859-1''Fu%DFballer.ppt"(s
iso-8859-1Rs
Fuballer.ppt(RRRC(R1R<((s1/usr/local/lib/python2.7/email/test/test_email.pyt#test_nonascii_add_header_via_triples	cCs9tddj}|j|d|j|tdS(Ntabcs
iso-8859-2s=?iso-8859-2?q?abc?=(RRRCRR*(R1tres((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_encode_unaliased_charsets(R>R?RRRRRRRRRRRRRRRRR(((s1/usr/local/lib/python2.7/email/test/test_email.pyRs"					1							
					tTestRFC2231cBseZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZRS(cCsN|j}|jd}||jdd||jddtd	dS(
Ns
msg_29.txtttitlesus-asciitens%This is even more ***fun*** isn't it!Rs'"This is even more ***fun*** isn't it!"(sus-asciiRs%This is even more ***fun*** isn't it!(sus-asciiRs'"This is even more ***fun*** isn't it!"(RCR=RLRn(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyRs	cCs|j}t}|jdddd||jdd
|jdddddd||jdd|jd}|jdddddd|j|jd	dS(NRs%This is even more ***fun*** isn't it!RGsus-asciiRtlanguageRs
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-asciiRs%This is even more ***fun*** isn't it!(RCRRRLR=R8Rh(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyRs		

cCsz|j}|jd}|jdddddd|jdd	dddd|jdd
d||jddS(
Ns
msg_01.txtRxRRGsus-asciiRRRs%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=RRRh(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyRs	
cCs/|j}|jd}||jddS(Ns
msg_32.txtsus-ascii(RCR=R(R1RER<((s1/usr/local/lib/python2.7/email/test/test_email.pyt test_rfc2231_get_content_charset
s	cCsHd}tj|}|jd}|j|t|j|ddS(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(R9RRLtassertNotIsInstancettupleRC(R1RR<tparam((s1/usr/local/lib/python2.7/email/test/test_email.pyt#test_rfc2231_no_language_or_charset
scCs/d}tj|}|j|jddS(NsContent-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(R9RRCRW(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt/test_rfc2231_no_language_or_charset_in_filename%
scCs/d}tj|}|j|jddS(NsContent-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(R9RRCRW(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt7test_rfc2231_no_language_or_charset_in_filename_encoded1
scCs/d}tj|}|j|jddS(NsContent-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(R9RRCRW(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_rfc2231_partly_encoded=
s
	cCs/d}tj|}|j|jddS(NsContent-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(R9RRCRW(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_rfc2231_partly_nonencodedJ
s
	cCs/d}tj|}|j|jddS(NsContent-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(R9RRCR^(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt/test_rfc2231_no_language_or_charset_in_boundaryW
scCs/d}tj|}|j|jddS(NsContent-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(R9RRCR(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt.test_rfc2231_no_language_or_charset_in_charsetc
scCs/d}tj|}|j|jddS(NsContent-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(R9RRCRW(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt%test_rfc2231_bad_encoding_in_filenamep
scCs/d}tj|}|j|jddS(Ns:Content-Type: text/plain; charset*=bogus''utf-8%E2%80%9D

(R9RRCRRI(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt$test_rfc2231_bad_encoding_in_charset|
scCs/d}tj|}|j|jddS(Ns:Content-Type: text/plain; charset*=ascii''utf-8%E2%80%9D

(R9RRCRRI(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt%test_rfc2231_bad_character_in_charset
scCs/d}tj|}|j|jddS(NsContent-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�(R9RRCRW(R1RR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt&test_rfc2231_bad_character_in_filename
scCs/d}tj|}|j|jddS(Ns^Content-Transfer-Encoding: 8bit
Content-Disposition: inline; filename*=X-UNKNOWN''myfile.txt

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

RsFrank's Document(RCR9RRLRI(R1RERR<RGRR((s1/usr/local/lib/python2.7/email/test/test_email.pyt-test_rfc2231_single_tick_in_filename_extended
s	

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

RsFrank's Document(R9RRLRRRC(R1RR<R((s1/usr/local/lib/python2.7/email/test/test_email.pyt$test_rfc2231_single_tick_in_filename
s
cCsa|j}d}tj|}|jd\}}}||d||d||ddS(NsYContent-Type: application/x-foo;
	name*0*="us-ascii'en-us'Frank's"; name*1*=" Document"

Rsus-asciisen-ussFrank's Document(RCR9RRL(R1RERR<RGRR((s1/usr/local/lib/python2.7/email/test/test_email.pyt!test_rfc2231_tick_attack_extended
s	

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

Rsus-ascii'en-us'Frank's Document(R9RRLRRRC(R1RR<R((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_rfc2231_tick_attack
s
cCs8|j}d}tj|}||jdddS(Ns:Content-Type: application/x-foo; name="Frank's Document"

RsFrank's Document(RCR9RRL(R1RERR<((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_rfc2231_no_extended_values
s	cCsa|j}d}tj|}|jd\}}}||d||d||ddS(NsiContent-Type: application/x-foo;
	name*0*="us-ascii'en-us'My";
	name*1=" Document";
	name*2*=" For You"

Rsus-asciisen-ussMy Document For You(RCR9RRL(R1RERR<RGRR((s1/usr/local/lib/python2.7/email/test/test_email.pyt,test_rfc2231_encoded_then_unencoded_segments
s	

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

Rsus-asciisen-ussMy Document For You(RCR9RRL(R1RERR<RGRR((s1/usr/local/lib/python2.7/email/test/test_email.pyt,test_rfc2231_unencoded_then_encoded_segments
s	

(R>R?RRRRRRRRRRRRRRRRRRRRRRR(((s1/usr/local/lib/python2.7/email/test/test_email.pyRs.		%						
	
		
		
	
				
	
	
				t
TestSignedcBs,eZdZdZdZdZRS(cCsItt|}z|j}tj|}Wd|jX||fS(N(R(RRjR9RR;(R1R&R7toriginalR<((s1/usr/local/lib/python2.7/email/test/test_email.pyt_msg_and_objscCslddl}|jd|j|jB}|j|jd}|j|jd}|j||dS(Nis^--([^\n]+)\n(.*?)\n--\1$i(tretcompiletSRotsearchtgroupRC(R1RtresultRtreparttinparttoutpart((s1/usr/local/lib/python2.7/email/test/test_email.pyt_signed_parts_eqs
cCs5|jd\}}|j}|j||dS(Ns
msg_45.txt(RRhR(R1RR<R((s1/usr/local/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((s1/usr/local/lib/python2.7/email/test/test_email.pyttest_long_headers_flattens
	(R>R?RRRR(((s1/usr/local/lib/python2.7/email/test/test_email.pyRs				cCsBtjt}gt|D]$}|jdrt||^qS(NR	(R{tmodulesR>tdirRtgetattr(tmodR((s1/usr/local/lib/python2.7/email/test/test_email.pyt_testclasses!s
cCs:tj}x'tD]}|jtj|qW|S(N(tunittestt	TestSuiteRtaddTestt	makeSuite(tsuitet	testclass((s1/usr/local/lib/python2.7/email/test/test_email.pyR&scCs"xtD]}t|q
WdS(N(RR(R((s1/usr/local/lib/python2.7/email/test/test_email.pyt	test_main-st__main__tdefaultTestR(YR R{RURR+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@RRR#R,R=RARNR~RRRRRFReRrRRRRRRRRRR>tmain(((s1/usr/local/lib/python2.7/email/test/test_email.pyt<module>s
B80*3r>;j"Ho=;!			

Zerion Mini Shell 1.0