��Qc@s(ddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl
Z
ddlmZddl
mZmZmZddlmZmZddlmZmZddlmZddlmZdd lmZdd
lmZddlm Z ddl!m"Z"dd
l#m$Z$ddl
m%Z%ddl
m&Z&ddl
m'Z'ddl
m(Z(ddl
m)Z)ddl
m*Z*ddl+m,Z,m-Z-ddl.m/Z0dZ1dZ2dZ3dd�Z4dej5fd��YZ6de6fd��YZ7dej5fd ��YZ8d!e6fd"��YZ9d#ej5fd$��YZ:d%ej5fd&��YZ;d'ej5fd(��YZ<d)ej5fd*��YZ=d+e6fd,��YZ>d-e6fd.��YZ?d/ej5fd0��YZ@d1e6fd2��YZAd3e6fd4��YZBd5e6fd6��YZCd7e6fd8��YZDd9e6fd:��YZEd;ej5fd<��YZFd=ej5fd>��YZGd?ej5fd@��YZHdAe6fdB��YZIdCe6fdD��YZJdEe6fdF��YZKdG�ZLdH�ZMdI�ZNeOdJkr$ejPdKdL�ndS(Mi�N(tStringIO(tCharset(tHeadert
decode_headertmake_header(tParsertHeaderParser(t GeneratortDecodedGenerator(tMessage(t MIMEAudio(tMIMEText(t MIMEImage(tMIMEBase(tMIMEMessage(t
MIMEMultipart(tUtils(tErrors(tEncoders(t Iterators(t
base64MIME(t
quopriMIME(tfindfiletrun_unittest(t__file__s
tt trcCs1tjjtjjt�d|�}t||�S(Ntdata(tostpathtjointdirnametlandmarktopen(tfilenametmodeR((s+/sys/lib/python2.7/email/test/test_email.pytopenfile-s$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
splitlinesRtNLRtfailureExceptiontgetvalue(tselftfirsttsecondtsfirsttssecondtdifftfp((s+/sys/lib/python2.7/email/test/test_email.pytndiffAssertEqual5s cCs7tt|��}ztj|�}Wd|j�X|S(N(R%Rtemailtmessage_from_filetclose(R.R#R4tmsg((s+/sys/lib/python2.7/email/test/test_email.pyt_msgobj?s
(t__name__t
__module__R5R:(((s+/sys/lib/python2.7/email/test/test_email.pyR&4s
tTestMessageAPIcBseZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�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(R.teqR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_get_allKs 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-1smime-versions1.0s
text/plainscontent-types text/plain; charset="iso-8859-1"tcharsetscontent-transfer-encodingsquoted-printables2.0sMIME-Versionstext/x-weirdsContent-Typesquinted-puntablesContent-Transfer-Encodings"text/x-weird; charset="iso-8859-1"( R@R tget_charsettNoneRtset_charsettget_content_typet get_paramt
input_charset(R.RBR9RD((s+/sys/lib/python2.7/email/test/test_email.pyttest_getset_charsetQs,
cCsJ|j}t�}|jd�||j�jd�||dd�dS(Nsus-asciiscontent-typestext/plain; charset="us-ascii"(R@R RGRERJ(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_set_charset_from_stringks
cCsBt�}td�}|jd|�|j|j�jd�dS(Ns
iso-8859-1sThis is a string payload(R Rtset_payloadR@RERJ(R.R9RD((s+/sys/lib/python2.7/email/test/test_email.pyttest_set_payload_with_charsetrs 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(R@R:tget_charsetsRF(R.RBR9tcharsets((s+/sys/lib/python2.7/email/test/test_email.pyttest_get_charsetsxs
cCs�|j}|jd�}g|j�D]}|j�^q%}||ddg�|jd�}|jd�}||j�d�dS(Ns
msg_04.txtsmsg.txts
msg_07.txtisdingusfish.gif(R@R:tget_payloadtget_filename(R.RBR9tpt filenamestsubpart((s+/sys/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(R@R:RSRT(R.RBR9RURV((s+/sys/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(R@R:tget_boundary(R.RBR9((s+/sys/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.txtRZiscontent-types3text/plain; charset="us-ascii"; boundary="BOUNDARY"s
msg_04.txts$multipart/mixed; boundary="BOUNDARY"s
msg_03.txt(R@R:tset_boundarytitemstlowertassertRaisesRtHeaderParseError(R.RBR9theadertvalue((s+/sys/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="==(RR@R^t as_string(R.R9((s+/sys/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%RtreadR6RRtparsestrRRtTruetflattentFalseR@R-(R.R4tmsgdatatparserR9touttgen((s+/sys/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-�his 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.
(R@R:RSRiRF(R.RBR9((s+/sys/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-encodingRqshello worldtfoo(s
x-uuencodeRsRtsx-uue(R@R RMRSRi(R.RBR9tcte((s+/sys/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-EncodingRqR( R RMtsyststderrRRSRiR@R-(R.R9t
old_stderrtsfp((s+/sys/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( R@R:R%RgR8RRRjR-(R.RBR9R4ttexttstg((s+/sys/lib/python2.7/email/test/test_email.pyttest_decoded_generator�s
cCs�t�}d|d<d|d<|jd|k�|jd|k�|jd|k�|jd|k�|jd|k�|jd|k�dS( NtMetFromtYouttotfromtFROMtTotTO(R t
assertTrue(R.R9((s+/sys/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(
R@R:R%RgtreplaceR8ReR'tsplitR�t
startswithR+R(R.RBR9R4R}tfullreprtlines((s+/sys/lib/python2.7/email/test/test_email.pyttest_as_strings
cCs,tjd�}|j|jd�d�dS(NsContent-Type: blarg; baz; boo
tbazR(R6tmessage_from_stringR@RI(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_bad_param,scCs)tjd�}|j|j�d�dS(Ns
From: foo
(R6R�R@RTRF(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_missing_filename0scCs)tjd�}|j|j�d�dS(Ns%Content-Disposition: blarg; filename
R(R6R�R@RT(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_bogus_filename4s cCs)tjd�}|j|j�d�dS(Ns
From: foo
(R6R�R@R[RF(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_missing_boundary9scCs�|j}tjd�}||jdd�d
ddg�tjd
�}||jdd�dddg�||j�d�tjd�}||jdd�dddg�dS(Ns&X-Header: foo=one; bar=two; baz=three
Rbsx-headerRutonetbarttwoR�tthrees X-Header: foo; bar=one; baz=two
Rs"X-Header: foo; bar="one"; baz=two
(sfooR�(R�R�(sbazR�(sfooR(R�R�(sbazR�(sfooR(R�R�(sbazR�(R@R6R�t
get_paramsRF(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_get_params=s cCs0t�}d|d<|j|jd�d�dS(Ns>Content-Type: Multipart/mixed; boundary = "CPIMSSMTPC06p5f3tG"sContent-TypetboundarytCPIMSSMTPC06p5f3tG(R R@RI(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_get_param_liberalMs
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�Rbsx-headerR�tquuzs"X-Header: foo; bar="one"; baz=two
RuRR�R�(R@R6R�RIRF(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_get_paramRs cCs5|jd�}|j|jd�jd�d�dS(Ns
msg_22.txtitnames
wibble.JPG(R:R@RSRI(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyt'test_get_param_funky_continuation_linescscCsKtjd�}|j|jd�d�|j|jddt�d�dS(Ns4Content-Type: image/pjpeg; name="Jim&&Jill"
R�sJim&&Jilltunquotes"Jim&&Jill"(R6R�R@RIRk(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyt#test_get_param_with_semis_in_quotesgs
cCsTtjd�}|j|jd�d�tjd�}|j|jd�d�dS(Ns5Content-Type: foo; bar*0="baz\"foobar"; bar*1="\"baz"R�sbaz"foobar"baz(R6R�R@RI(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_get_param_with_quotesns cCsktjd�}|j|jd��|j|jd��|j|jd��|j|jd��dS(NsHeader: existsRbRtHEADERtheaderi(R6R�R�thas_keytassertFalse(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_has_keyvs
cCs�|j}t�}|jdd�||jd�d�|jdd�||jd�d�||jddt�d�||j�d
ddg�||jdt�dddg�|jdd
dd�||jddd�d
�dS(NRDsiso-2022-jpt
importances
high valueR�s"high value"s
text/plainRs
"iso-2022-jp"siso-9999-xxRbsX-Jimmy(s
text/plainR(scharsetsiso-2022-jp(R�s
high value(s
text/plainR(scharsets
"iso-2022-jp"(R�s"high value"(R@R t set_paramRIRkR�(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_set_param}s
cCs�|j}|jd�}||j�dd d
g�|jd�}|jd�||j�ddg�|jd|�||j�d
dd|fg�dS(Ns
msg_05.txtsmultipart/reportRsreport-typesdelivery-statusR�s%D1690A7AC1.996856090/mail.example.com(smultipart/reportR(sreport-typesdelivery-status(sboundarys%D1690A7AC1.996856090/mail.example.com(smultipart/reportR(sboundarys%D1690A7AC1.996856090/mail.example.com(smultipart/reportR(sboundarys%D1690A7AC1.996856090/mail.example.com(R@R:R�RIt del_paramR�(R.RBR9told_val((s+/sys/lib/python2.7/email/test/test_email.pyttest_del_param�s
cCsGt�}|jdddd�|jdd�|j|dd�dS(NsContent-Dispositiont
attachmentR#sbud.gifscontent-disposition(R t
add_headerR�R@(R.R9((s+/sys/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/plainscontent-typeRDsus-asciistext/plain; charset="us-ascii"s text/htmlstext/html; charset="us-ascii"(R@R R`t
ValueErrortset_typeR�(R.RBR9((s+/sys/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(R R�R@(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_set_type_on_other_header�s
cCs#t�}|j|j�d�dS(Ns
text/plain(R R@RH(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_get_content_type_missing�s cCs0t�}|jd�|j|j�d�dS(Nsmessage/rfc822(R tset_default_typeR@RH(R.R9((s+/sys/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:R@RSRH(R.R9((s+/sys/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:R@RSRH(R.R9((s+/sys/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:R@RH(R.R9((s+/sys/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:R@RH(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyt6test_get_content_type_from_message_text_plain_explicit�scCs#t�}|j|j�d�dS(NR}(R R@tget_content_maintype(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyt!test_get_content_maintype_missing�s cCs0t�}|jd�|j|j�d�dS(Nsmessage/rfc822tmessage(R R�R@R�(R.R9((s+/sys/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:R@RSR�(R.R9((s+/sys/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:R@RSR�(R.R9((s+/sys/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:R@R�(R.R9((s+/sys/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:R@R�(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyt:test_get_content_maintype_from_message_text_plain_explicit�scCs#t�}|j|j�d�dS(Ntplain(R R@tget_content_subtype(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyt test_get_content_subtype_missing�s cCs0t�}|jd�|j|j�d�dS(Nsmessage/rfc822trfc822(R R�R@R�(R.R9((s+/sys/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:R@RSR�(R.R9((s+/sys/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:R@RSR�(R.R9((s+/sys/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:R@R�(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyt9test_get_content_subtype_from_message_text_plain_implicit�scCs)|jd�}|j|j�d�dS(Ns
msg_01.txtR�(R:R@R�(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyt9test_get_content_subtype_from_message_text_plain_explicit�scCs-t�}d|d<|j|j�d�dS(Nsno-slash-in-this-stringsContent-TypeR}(R R@R�(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_get_content_maintype_errors
cCs-t�}d|d<|j|j�d�dS(Nsno-slash-in-this-stringsContent-TypeR�(R R@R�(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_get_content_subtype_errors
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(R@R R�tkeystvaluestreplace_headerR`tKeyError(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_replace_header
s cCsPd}t�}d|d<d|d<|j|�|j|jdt�|�dS(NsAwDp0P7//y6LwKEAcPa/6Q=9saudio/x-midiscontent-typetbase64scontent-transfer-encodingRq(R RMR@RSRi(R.txR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_broken_base64_payloads
cCsSt�}|jd�|jd|j��|jd�|jd|j��dS(Nsus-asciiuus-ascii(R RGR@tget_content_charset(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_get_content_charset&s
cCs3t�}td�|d<|jtj|j�dS(Nsdummy
X-Injected-Header: testtDummy(R RR`RRaRe(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyt'test_embeded_header_via_Header_rejected/s cCs-t�}d|d<|jtj|j�dS(Nsdummy
X-Injected-Header: testR�(R R`RRaRe(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyt'test_embeded_header_via_string_rejected4s
(<R;R<RCRKRLRNRRRXRYR\RdRfRpRrRwR|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�R�(((s+/sys/lib/python2.7/email/test/test_email.pyR=Jst
tTestEncoderscBs#eZd�Zd�Zd�ZRS(cCs4|j}t�}|jd�||dd�dS(Nsus-asciiscontent-transfer-encodingt7bit(R@R RG(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_encode_empty_payload<s
cCsj|j}td�}||dd�td�}||dd�tddd�}||dd�dS( Nshello worldscontent-transfer-encodingR�s
hello �rldt8bitt_charsets
iso-8859-1squoted-printable(R@R(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_default_cteBs cCs6|j}tjjddd�}||dd�dS(NsʸR�seuc-jpscontent-transfer-encodingR�(R@R6R(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_encode7or8bitNs (R;R<R�R�R�(((s+/sys/lib/python2.7/email/test/test_email.pyR�;s tTestLongHeaderscBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�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
(R5R6R�RRRjR-(R.RBR9R{R((s+/sys/lib/python2.7/email/test/test_email.pyttest_split_long_continuationYs
cCsW|j}d}t|dd�}||j�d�t|�}||j�d�dS(Ns�bug demonstration
12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
more texttcontinuation_wss s�bug demonstration
12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
more text(R5Rtencode(R.RBthstrth((s+/sys/lib/python2.7/email/test/test_email.pyt,test_another_long_almost_unsplittable_headerms 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�ndischen Wandgem�en vorbei, gegen die rotierenden Klingen bef�rt. s;Finan� metropole se hroutily pod tlakem jejich d�pu.. 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?=(
R5RR�RtappendR RRRjR-(R.RBRtcztutf8tg_headtcz_headt utf8_headR�R9R{((s+/sys/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"(R5RR�(R.RBR�((s+/sys/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"(R5RR�(R.RBR�((s+/sys/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"
(R5RRRRjR-(R.RBR9R{R((s+/sys/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(Nstest@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(
R5R tSPACERtrangeRMRRRjR-(R.RBR9tiR{R((s+/sys/lib/python2.7/email/test/test_email.pyttest_no_semis_header_splitter�s
0
cCs@|j}ddd}t|dd�}||j�d�dS(NsReferences: R�iPR�s s\References: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(R5RR�(R.RBR�R�((s+/sys/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)(R5RR�(R.RBR�R�((s+/sys/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(R5RR�(R.RBR�R�((s+/sys/lib/python2.7/email/test/test_email.pyt&test_splitting_first_line_only_is_long�s cCsU|j}t�}tdddd�}|jd�||d<||j�d�dS(NsBritische Regierung gibts
iso-8859-1R�R�s+gr� Licht f�ffshore-Windkraftprojektes�Subject: =?iso-8859-1?q?Britische_Regierung_gibt?= =?iso-8859-1?q?gr=FCnes?=
=?iso-8859-1?q?_Licht_f=FCr_Offshore-Windkraftprojekte?=
(R5R RR�Re(R.RBR9R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_long_8bit_header
s
cCs3|j}t�}d|d<||j�d�dS(NsfBritische Regierung gibt gr� Licht f�ffshore-Windkraftprojekte <a-very-long-address@example.com>sReply-TosrReply-To: Britische Regierung gibt gr� Licht f�ffshore-Windkraftprojekte <a-very-long-address@example.com>
(R5R Re(R.RBR9((s+/sys/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>
(R5R Re(R.RBR�R9((s+/sys/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.(R5RR�R�(R.RBR~R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_long_line_after_append0s
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?)(R5RR�R�(R.RBR~R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_shorter_line_with_append9s
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�ndischen Wandgem�en vorbei, gegen die rotierenden Klingen bef�rt. 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_?=(R5RR�(R.RBtfntgsR�((s+/sys/lib/python2.7/email/test/test_email.pyttest_long_field_nameAs 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
(R RR@Re(R.R�R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_long_received_headerMs
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�R
R�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")
(R RR5Re(R.R�R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_string_headerinst_eq\s
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
(R5R RRe(R.RBR9tt((s+/sys/lib/python2.7/email/test/test_email.pyt-test_long_unbreakable_lines_with_continuationjs
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
(R5R6R�Re(R.RBtmR9((s+/sys/lib/python2.7/email/test/test_email.pyt"test_another_long_multiline_headerzs
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>
(R5R RRe(R.RBR�R9((s+/sys/lib/python2.7/email/test/test_email.pyt%test_long_lines_with_different_header�s
(R;R<R�R�RRRRR R
RRRRRRRRRRRRR(((s+/sys/lib/python2.7/email/test/test_email.pyR�Xs* +
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
(R R9RM(R.((s+/sys/lib/python2.7/email/test/test_email.pytsetUp�s
cCsEt�}t|dt�}|j|j�|j|j�d�dS(Ntmangle_from_s<From: aaa@bbb.org
>From the desk of A.A.A.:
Blah blah blah
(RRRiRjR9R@R-(R.R~R((s+/sys/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
(RRRkRjR9R@R-(R.R~R((s+/sys/lib/python2.7/email/test/test_email.pyttest_dont_mangle_from�s
cCs�t�}t|dt�}tjtjd��}|j|�|jt g|j
�jd�D]}|jd�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(
RRRiR6R�ttextwraptdedentRjR@tlenR-R�R�(R.R~RR9R�((s+/sys/lib/python2.7/email/test/test_email.pyt'test_mangle_from_in_preamble_and_epilog�s
%(R;R<R R"R#R'(((s+/sys/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(NRRsaudiotest.autrb(RRRR R!R"RRgt
_audiodataR8R
t_au(R.tdatadirR4((s+/sys/lib/python2.7/email/test/test_email.pyR �s$cCs|j|jj�d�dS(Nsaudio/basic(R@R+RH(R.((s+/sys/lib/python2.7/email/test/test_email.pyttest_guess_minor_type�scCs/|jj�}|jtj|�|j�dS(N(R+RSR@R�tdecodestringR*(R.tpayload((s+/sys/lib/python2.7/email/test/test_email.pyt
test_encoding�scCs,t|jd�}|j|j�d�dS(Ntfishs
audio/fish(R
R*R@RH(R.tau((s+/sys/lib/python2.7/email/test/test_email.pyttest_checkSetMinor�scCs|j}|j}|jjdddd�||jdd�||jjdd�dd
g�||jjddd�d�g}||jjddd�d�||jjd d
|dd�|k�||jjd|�|k�||jjd|dd�|k�dS(NsContent-DispositionR�R#saudiotest.auscontent-dispositions#attachment; filename="audiotest.au"RbRRutfailobjtfoobar(s
attachmentR(R#saudiotest.au(R@R�R+R�R�RI(R.RBtunlesstmissing((s+/sys/lib/python2.7/email/test/test_email.pyttest_add_header�s"
(R;R<R R-R0R3R8(((s+/sys/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%Rgt_imgdataR8Rt_im(R.R4((s+/sys/lib/python2.7/email/test/test_email.pyR s
cCs|j|jj�d�dS(Ns image/gif(R@R;RH(R.((s+/sys/lib/python2.7/email/test/test_email.pyR-scCs/|jj�}|jtj|�|j�dS(N(R;RSR@R�R.R:(R.R/((s+/sys/lib/python2.7/email/test/test_email.pyR0scCs,t|jd�}|j|j�d�dS(NR1s
image/fish(RR:R@RH(R.tim((s+/sys/lib/python2.7/email/test/test_email.pyR3scCs|j}|j}|jjdddd�||jdd�||jjdd�dd
g�||jjddd�d�g}||jjddd�d�||jjd d
|dd�|k�||jjd|�|k�||jjd|dd�|k�dS(NsContent-DispositionR�R#sdingusfish.gifscontent-dispositions%attachment; filename="dingusfish.gif"RbRRuR4R5(s
attachmentR(R#sdingusfish.gif(R@R�R;R�R�RI(R.RBR6R7((s+/sys/lib/python2.7/email/test/test_email.pyR8s"
(R;R<R R-R0R3R8(((s+/sys/lib/python2.7/email/test/test_email.pyR9s
tTestMIMETextcBsPeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z RS(cCstd�|_dS(Nshello there(Rt_msg(R.((s+/sys/lib/python2.7/email/test/test_email.pyR .scCs�|j}|j}||jj�d�||jjd�d�g}||jjd|�|k�||jjd|dd�|k�dS(Ns
text/plainRDsus-asciiR5Rb(R@R�R>RHRI(R.RBR6R7((s+/sys/lib/python2.7/email/test/test_email.pyt
test_types1s cCs4|j|jj�d�|j|jj��dS(Nshello there(R@R>RSR�tis_multipart(R.((s+/sys/lib/python2.7/email/test/test_email.pyttest_payload;scCsF|j}tddd�}||j�jd�||dd�dS(Nshello thereR�sus-asciiscontent-typestext/plain; charset="us-ascii"(R@RRERJ(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_charset?s cCsF|j}tddd�}||j�jd�||dd�dS(Nuhello thereR�sus-asciiscontent-typestext/plain; charset="us-ascii"(R@RRERJ(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_7bit_unicode_inputEs cCsV|j}td�}||j�d�||dd�|jd|j�k�dS(Nuhello theresus-asciiscontent-typestext/plain; charset="us-ascii"shello there(R@RRER�Re(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyt"test_7bit_unicode_input_no_charsetKs
cCsnd}|j}t|dd�}||j�jd�||dd�||jdt�|jd��dS(NuкирилицаR�sutf-8scontent-typestext/plain; charset="utf-8"Rq(R@RREtoutput_charsetRSRiR�(R.tteststrRBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_8bit_unicode_inputRs cCsd}|jtt|�dS(Nuкирилица(R`tUnicodeEncodeErrorR(R.RF((s+/sys/lib/python2.7/email/test/test_email.pyt"test_8bit_unicode_input_no_charsetZs(
R;R<R R?RARBRCRDRGRI(((s+/sys/lib/python2.7/email/test/test_email.pyR=-s
t
TestMultipartcBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�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�} nd} d| |df}
tjdtj |��|
|d<||_
||_||_dS(NsPyBanner048.gift multiparttmixedR�RZR�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�F�p�i�it-t+s %s%04di$s%a, %d %b %Y %H:%M:%StDate(R%RgR8R
RR�Rtattachttimet localtimettimezonetaltzonetstrftimeR>R;t_txt(R.R4Rt containertimagetintrotnowt timetuplettzsecstsignttzoffset((s+/sys/lib/python2.7/email/test/test_email.pyR bs<
cCs�|j}|j}|j}|j}||j��||j�d�|t|j��d�|t|jd�|jd�}|jd�}|||j k�|||j
k�||j�||g�||j��||j��dS(Nsmultipart/mixediii(R@R�R`R>R@RHR&RSt
IndexErrorRVR;(R.RBR6traisesRtm0tm1((s+/sys/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--
(RRhR5Re(R.R}R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_empty_multipart_idempotent�s
cCsTtdd�}d|d<d|d<d|d<|jd �|j|j�d
�dS(NRKRLs A subjectR�saperson@dom.ainR�sbperson@dom.ainR�RZs�Content-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain
--BOUNDARY
--BOUNDARY--(R
R]R5Re(R.touter((s+/sys/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(NRKRLs A subjectR�saperson@dom.ainR�sbperson@dom.ainR�RRZs�Content-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain
--BOUNDARY
--BOUNDARY--
(R
tpreambletepilogueR]R5Re(R.Re((s+/sys/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(NRKRLs A subjectR�saperson@dom.ainR�sbperson@dom.ainR�RZshello 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--(R5R
R]RRPRe(R.RBReR9((s+/sys/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(
NRKRLs A subjectR�saperson@dom.ainR�sbperson@dom.ainR�Rshello worldRZsContent-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--(R5R
RgRRPR]Re(R.RBReR9((s+/sys/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(NRKRLs A subjectR�saperson@dom.ainR�sbperson@dom.ainR�shello worldRZsContent-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--(R5R
RFRgRRPR]Re(R.RBReR9((s+/sys/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(NRKRLs A subjectR�saperson@dom.ainR�sbperson@dom.ainR�shello worldRZsContent-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--(R5R
RFRhRRPR]Re(R.RBReR9((s+/sys/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(
NRKRLs A subjectR�saperson@dom.ainR�sbperson@dom.ainR�Rshello worldRZsContent-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--
(R5R
RhRRPR]Re(R.RBReR9((s+/sys/lib/python2.7/email/test/test_email.pyt1test_seq_parts_in_a_multipart_with_empty_epilogue;s
cCs||j}tdd�}d|d<d|d<d|d<d |_td
�}|j|�|jd�||j�d�dS(
NRKRLs A subjectR�saperson@dom.ainR�sbperson@dom.ainR�s
shello worldRZsContent-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--
(R5R
RhRRPR]Re(R.RBReR9((s+/sys/lib/python2.7/email/test/test_email.pyt.test_seq_parts_in_a_multipart_with_nl_epilogueVs
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(R@R:R&RSRH(R.RBR9tmsg1RWt
subsubpart((s+/sys/lib/python2.7/email/test/test_email.pyttest_message_external_bodyqs cCs/|jd�}|jt|j��d�dS(Ns
msg_37.txti(R:R@R&RS(R.R9((s+/sys/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
(R5R:RRt
_structureR-(R.RBR9R{((s+/sys/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
(R5R:RRRtR-(R.RBR9R{((s+/sys/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:R@Re(R.R9((s+/sys/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(R@R6R�R�R@R[R&RS(R.RBR9((s+/sys/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==(RRhR@RS(R.R((s+/sys/lib/python2.7/email/test/test_email.pyt&test_boundary_without_trailing_newline�s
(R;R<R RcRdRfRiRjRkRlRmRnRoRrRsRuRvRwRxRy(((s+/sys/lib/python2.7/email/test/test_email.pyRJas$ (
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�(R@R:RHR�R�(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_parse_missing_minor_type�s
cCst|j}|jd�}|jd�}|t|d��|jt|j�d�|t|jdtj ��dS(Ns
msg_15.txtitdefectsi(
R�R:RSthasattrR@R&R|t
isinstanceRtStartBoundaryNotFoundDefect(R.R6R9tinner((s+/sys/lib/python2.7/email/test/test_email.pyttest_same_boundary_inner_outer�s cCs�|j}|jd�}|t|j�t��|jt|j�d�|t|jdtj ��|t|jdtj
��dS(Ns
msg_25.txtiii(R�R:R~RSR'R@R&R|RtNoBoundaryInMultipartDefectt!MultipartInvariantViolationDefect(R.R6R9((s+/sys/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}sContent-TypeR�s
text/plainscontent-typeRusContent-Type: foo
(
R@R5R R�R�RHRRRjR-(R.RBtneqR9R~R((s+/sys/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--
(R5R:RS(R.RBR9((s+/sys/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
(R5R:Re(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_no_separating_blank_lines cCs�|j}|jd�}|t|d��|jt|j�d�|t|jdtj��|t|jdtj ��dS(Ns
msg_41.txtR|iii(
R�R:R}R@R&R|R~RR�R�(R.R6R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_lying_multipart(s cCsd|jd�}|jd�jd�}|jt|j�d�|jt|jdtj��dS(Ns
msg_42.txtii( R:RSR@R&R|R�R~RR(R.Retbad((s+/sys/lib/python2.7/email/test/test_email.pyttest_missing_start_boundary1s
cCs�|j}d}tj|�}||j�g�||j�d�|t|j�d�|jt|jdt j
��||jdjd�dS(Ns Line 1
Line 2
Line 3s
Line 2
Line 3iis Line 1
(R@R6R�R�RSR&R|R�R~Rt#FirstHeaderLineIsContinuationDefecttline(R.RBRR9((s+/sys/lib/python2.7/email/test/test_email.pyt&test_first_line_is_continuation_header@s
(R;R<R{R�R�R�R�R�R�R�R�(((s+/sys/lib/python2.7/email/test/test_email.pyRz�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�sm�g�smac-icelandsbaz foo barsVRe: =?mac-iceland?q?r=8Aksm=9Arg=8Cs?= baz foo bar
=?mac-iceland?q?r=8Aksm=9Arg=8Cs?=(sRe:N(s
r�sm�g�smac-iceland(sbaz foo barN(s
r�sm�g�smac-iceland(R@RRFR'R(R.RBR~tdh((s+/sys/lib/python2.7/email/test/test_email.pyttest_rfc2047_multilinePs
cCsZ|j}d}t|�}||ddg�tt|��jd�}||d�dS( Ns0=?ISO-8859-1?Q?Andr=E9?= Pirard <pirard@dom.ain>sAndr�iso-8859-1sPirard <pirard@dom.ain>slatin-1sAndr�irard <pirard@dom.ain>(sAndr�iso-8859-1(sPirard <pirard@dom.ain>N(R@RRFtunicodeRR�(R.RBR~R�thu((s+/sys/lib/python2.7/email/test/test_email.pyttest_whitespace_eater_unicode^s 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(R@RRFRt__unicode__(R.RBR~R�R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_whitespace_eater_unicode_2fs
cCs/d}t|�}|j||dfg�dS(Ns3Sm=?ISO-8859-1?B?9g==?=rg=?ISO-8859-1?B?5Q==?=sbord(RR@RF(R.R~R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_rfc2047_without_whitespaceoscCs5d}t|�}|j|dd d
ddg�dS(
Ns7Sm =?ISO-8859-1?B?9g==?= rg =?ISO-8859-1?B?5Q==?= sbordtSms�iso-8859-1trgs�sbord(R�N(s�iso-8859-1(R�N(s�iso-8859-1(R�N(RR@RF(R.R~R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_rfc2047_with_whitespacets
cCs_d}d
ddd
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�(RR@(R.R~RtqtaR�((s+/sys/lib/python2.7/email/test/test_email.pyttest_rfc2047_B_bad_padding{s cCs#d}|jt|�dg�dS(Ns=?iso-8659-1?Q?andr=e9=zz?=sandr�zs
iso-8659-1(sandr�zs
iso-8659-1(R@R(R.R~((s+/sys/lib/python2.7/email/test/test_email.pyttest_rfc2047_Q_invalid_digits�s( R;R<R�R�R�R�R�R�R�(((s+/sys/lib/python2.7/email/test/test_email.pyR�Os
tTestMIMEMessagecBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�ZRS(cCs1td�}z|j�|_Wd|j�XdS(Ns
msg_11.txt(R%Rgt_textR8(R.R4((s+/sys/lib/python2.7/email/test/test_email.pyR �scCs|jttd�dS(Nsa plain string(R`t TypeErrorR(R.((s+/sys/lib/python2.7/email/test/test_email.pyttest_type_error�scCs�|j}|j}d}t�}||d<t|�}||j�d�|j�}|t|t��|t|�d�|d}|||k�||d|�dS(Ns
A sub-messageR�smessage/rfc822iitsubject( R@R�R RRHRSR~tlistR&(R.RBR6R�RRR/RW((s+/sys/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(R@R RR`RtMultipartConversionErrorRP(R.RBRptmsg2R((s+/sys/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.
(R RMRRRRjR@R-(R.RRR~R((s+/sys/lib/python2.7/email/test/test_email.pyt
test_generate�s
cCs�|j}|j}|jd�}||j�d�|j�}|t|t��|t|�d�|d}|jt|t��||dd�||j�d�dS(Ns
msg_11.txtsmessage/rfc822iiR�sAn enclosed messages!Here is the body of the message.
( R@R�R:RHRSR~R�R&R (R.RBR6R9R/tsubmsg((s+/sys/lib/python2.7/email/test/test_email.pyttest_parse_message_rfc822�s
c Cs?|j}|j}|jd�}||j�d�||j��|t|j��d�|jd�}||j�d�||j�d�|jd�}||j�d�|t|j��d �|jd�}|t|t��||d
d�||j dd
d�d�||j dd
d�d�|jd�}|t|t��||dd�||jd
d�ddg�||j dd
d�d�|jd �}||j�d�|j�}|t|t��|t|�d�|d}|t|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.edutdnsRbs
reporting-mtaRtnsdtactiontfailedsoriginal-recipientR�sjangel1@cougar.noc.ucla.edusfinal-recipientsmessage/rfc822s
message-ids(<002001c144a6$8752e060$56104586@oxy.edu>(srfc822R(sjangel1@cougar.noc.ucla.eduR(
R@R�R:RHR@R&RSR~R RIRFR�R�( R.RBR6R9RWtdsn1tdsn2R/Rq((s+/sys/lib/python2.7/email/test/test_email.pyttest_dsn�sD
c Cs�|j}td�}z|j�}Wd|j�Xt�}d|d<d|d<d|d<d|_d |_td
�}td�}|jdd
dd�|j |�|j |�t
�}t|�}|j|�||j
�|�dS(Ns
msg_21.txtsaperson@dom.ainR�sbperson@dom.ainR�RR�sMIME messagesEnd of MIME message
R�R�sContent-Typesmultipart/mixedR�RZ(R5R%RgR8R RgRhRR�RPRRRjR-( R.RBR4R}R9RpR�R{R((s+/sys/lib/python2.7/email/test/test_email.pyt
test_epilogues(
cCs�|j}t�}d|d<d|d<d|d<d|_d|_td �}td
�}|jddd
d�|j|�|j|�||j�d�dS(Nsaperson@dom.ainR�sbperson@dom.ainR�RR�sMIME messageRR�R�sContent-Typesmultipart/mixedR�RZsdFrom: 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--
(R5R RgRhRR�RPRe(R.RBR9RpR�((s+/sys/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(R@R%R6R7R8RStget_default_typeRH(R.RBR4R9t
container1t
container2tcontainer1atcontainer2a((s+/sys/lib/python2.7/email/test/test_email.pyttest_default_typeEs" 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(R@R%R6R7R8RSR�RH(R.RBR4R9R�R�R�R�((s+/sys/lib/python2.7/email/test/test_email.pyt.test_default_type_with_explicit_container_typeYs" 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(NtdigestRZRs
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--
scontent-typesmime-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--
(
R@R5RRhRRRPRHR�Re(R.RBR�RWt subpart1at subpart2atsubpart1tsubpart2((s+/sys/lib/python2.7/email/test/test_email.pyttest_default_type_non_parsedms4
cCs|j}td�}td�}td||f�}|t|j��d�||jd�|�||jd�|�dS(NRt _subpartsiii(R@RRR&RS(R.RBttext1ttext2R9((s+/sys/lib/python2.7/email/test/test_email.pyt$test_mime_attachments_in_constructor�s cCs t�}|j|j��dS(N(RR�R@(R.R9((s+/sys/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+/sys/lib/python2.7/email/test/test_email.pyR��s
: # J tTestIdempotentcBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cCsCt|�}z|j�}Wd|j�Xtj|�}||fS(N(R%RgR8R6R�(R.R#R4RR9((s+/sys/lib/python2.7/email/test/test_email.pyR:�scCsH|j}t�}t|dd�}|j|�|||j��dS(Ntmaxheaderleni(R5RRRjR-(R.R9R}RBR~R((s+/sys/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�iRDsus-ascii(scharsetsus-ascii(R@R:RHR�R�R�RIRgRFRhR�(R.RBR9R}((s+/sys/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/plainRD(R@R:RHR�RFRIR�(R.RBR9R}((s+/sys/lib/python2.7/email/test/test_email.pyttest_parse_untyped_message�s cCs)|jd�\}}|j||�dS(Ns
msg_04.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyttest_simple_multipart�scCs)|jd�\}}|j||�dS(Ns
msg_02.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyttest_MIME_digest�scCs)|jd�\}}|j||�dS(Ns
msg_27.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyttest_long_header�scCs)|jd�\}}|j||�dS(Ns
msg_28.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyt"test_MIME_digest_with_part_headers�scCs)|jd�\}}|j||�dS(Ns
msg_06.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyttest_mixed_with_image�scCs)|jd�\}}|j||�dS(Ns
msg_05.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyttest_multipart_reportscCs)|jd�\}}|j||�dS(Ns
msg_16.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyR�scCs)|jd�\}}|j||�dS(Ns
msg_21.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyttest_preamble_epiloguescCs)|jd�\}}|j||�dS(Ns
msg_23.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyttest_multipart_one_partscCs)|jd�\}}|j||�dS(Ns
msg_24.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyttest_multipart_no_partsscCs)|jd�\}}|j||�dS(Ns
msg_31.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyR�scCs)|jd�\}}|j||�dS(Ns
msg_32.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyttest_rfc2231_charsetscCs)|jd�\}}|j||�dS(Ns
msg_33.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyttest_more_rfc2231_parametersscCs)|jd�\}}|j||�dS(Ns
msg_34.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyt%test_text_plain_in_a_multipart_digest#scCs)|jd�\}}|j||�dS(Nsmsg_12a.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyttest_nested_multipart_mixeds'scCs)|jd�\}}|j||�dS(Ns
msg_36.txt(R:R�(R.R9R}((s+/sys/lib/python2.7/email/test/test_email.pyt%test_message_external_body_idempotent+sc
Cs�|j}|j}|jd�\}}||j�d�i}x$|j�D]\}}|||<qMW||dd�||dd�||jd�||jd�|t|j��d �|jd
�}||j�d�||j�d�|jd
�} || j�d�|| j�d�|jd�}
||
j�d�|jt |
t
��|
j�}|t |t��|t|�d
�|d
}|t |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(R@R�R:RHR�RgRhR&RSR~R R�(
R.RBR6R9R}tparamstpktpvRpR�tmsg3R/tmsg4((s+/sys/lib/python2.7/email/test/test_email.pyttest_content_type/s6
cCs�|j}|j}|jd�\}}||j�d�|j�}|t|t��|t|�d�|d}|jt|t��||j�d�|jt|j�t ��||j�d�dS(Ns
msg_06.txtsmessage/rfc822iis
text/plains
(
R@R�R:RHRSR~R�R&R R'(R.RBR6R9R}R/Rp((s+/sys/lib/python2.7/email/test/test_email.pyttest_parserOs
(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+/sys/lib/python2.7/email/test/test_email.pyR��s, tTestMiscellaneouscBs1eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�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"RS(!cCs{td�}z|j�}Wd|j�Xtj|�}t�}t|dd�}|j|�|j||j ��dS(Ns
msg_01.txtR�i(
R%RgR8R6R�RRRjR@R-(R.R4R}R9R~R((s+/sys/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%RgtseekR6R7RRRjR@R-R8(R.R4R}R9R~R((s+/sys/lib/python2.7/email/test/test_email.pyttest_message_from_filers
cCs�|j}td�}z|j�}Wd|j�Xdtfd��Y}tj||�}|t||��td�}z|j�}Wd|j�Xtj||�}x'|j�D]}|t||��q�WdS(Ns
msg_01.txtt MyMessagecBseZRS((R;R<(((s+/sys/lib/python2.7/email/test/test_email.pyR��ss
msg_02.txt( R�R%RgR8R R6R�R~twalk(R.R6R4R}R�R9RW((s+/sys/lib/python2.7/email/test/test_email.pyt#test_message_from_string_with_class�s cCs�|j}dtfd��Y}td�}ztj||�}Wd|j�X|t||��td�}ztj||�}Wd|j�Xx'|j�D]}|t||��q�WdS(NR�cBseZRS((R;R<(((s+/sys/lib/python2.7/email/test/test_email.pyR��ss
msg_01.txts
msg_02.txt(R�R R%R6R7R8R~R�(R.R6R�R4R9RW((s+/sys/lib/python2.7/email/test/test_email.pyt!test_message_from_file_with_class�s c"Cs�td�}|j}|j�|j|dddddddd d
ddd
ddddddddddddddddddd d!g �dS("NR6RRRRRRR
R
RRRtMIMENonMultipartRR RRRt
base64mimeRDtencodersterrorst generatorRbt iteratorsR�R7R�tmimeRmRt
quoprimimetutils(t
__import__t__all__tsortR@(R.tmoduletall((s+/sys/lib/python2.7/email/test/test_email.pyttest__all__�s
cCsCtj�}|jtjtj|��d tj|�d �dS(Ni(RQR@Rt parsedatet
formatdatetgmtime(R.RZ((s+/sys/lib/python2.7/email/test/test_email.pyttest_formatdate�scCsItj�}|jtjtj|dt��d tj|�d �dS(NRRi(RQR@RR�R�RiRR(R.RZ((s+/sys/lib/python2.7/email/test/test_email.pyttest_formatdate_localtime�scCs~tj�}|jtj|dt�tjdtj|���|jtj|dtdt�tjdtj|���dS(NRRs%a, %d %b %Y %H:%M:%S -0000tusegmts%a, %d %b %Y %H:%M:%S GMT(RQR@RR�RkRURRi(R.RZ((s+/sys/lib/python2.7/email/test/test_email.pyttest_formatdate_usegmt�scCs|jtjd�d�dS(NR(R@RR�RF(R.((s+/sys/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(R@RR�(R.((s+/sys/lib/python2.7/email/test/test_email.pyttest_parsedate_compact�scCs#|j}|tjd�d�dS(
Ns25 Feb 2003 13:47:26 -0800i�iii
i/iiii�i��i�iii
i/iiii�i��R@Rtparsedate_tz(R.RB((s+/sys/lib/python2.7/email/test/test_email.pyttest_parsedate_no_dayofweek�s cCs#|j}|tjd�d�dS(
Ns5 Feb 2003 13:47:26 -0800i�iii
i/iiii�i��i�iii
i/iiii�i��R@RR(R.RB((s+/sys/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 ( R@RR�tintRQtmktimeRRRUR(R.RBttimetupR((s+/sys/lib/python2.7/email/test/test_email.pyt+test_parsedate_acceptable_to_time_functions�s cCs6|jtjd�d�|jtjd�d�dS( Ni�iii�i�i.�
i�iiiiii�i�i�i(
i�iiiiii�i�i�i�(R@Rt mktime_tz(R.((s+/sys/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(R@RR(R.((s+/sys/lib/python2.7/email/test/test_email.pyttest_parsedate_y2k�scCs?|jtjd�d�|jtjtjd��d�dS(Ns<>R(RR(R@Rt parseaddrt
formataddr(R.((s+/sys/lib/python2.7/email/test/test_email.pyttest_parseaddr_empty scCs|jtjd�d�dS(NsA Silly Personsperson@dom.ainsA Silly Person <person@dom.ain>(sA Silly Personsperson@dom.ain(R@RR(R.((s+/sys/lib/python2.7/email/test/test_email.pyttest_noquote_dump scCsW|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(R@RRR(R.R�tb((s+/sys/lib/python2.7/email/test/test_email.pyttest_escape_dump scCsW|jtjd�d�d}d}|jtjtj||f��||f�dS(NsArthur \Backslash\ Foobarsperson@dom.ains."Arthur \\Backslash\\ Foobar" <person@dom.ain>(sArthur \Backslash\ Foobarsperson@dom.ain(R@RRR(R.R�R((s+/sys/lib/python2.7/email/test/test_email.pyttest_escape_backslashes scCsyd}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(R@RRR(R.R�tyR�R((s+/sys/lib/python2.7/email/test/test_email.pyttest_name_with_dot scCsO|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(R@RR(R.RB((s+/sys/lib/python2.7/email/test/test_email.pyt2test_parseaddr_preserves_quoted_pairs_in_addresses% s
cCs#d}|jtj|�d�dS(NsFoo
Bar <foo@example.com>sFoo Barsfoo@example.com(sFoo Barsfoo@example.com(R@RR(R.R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_multiline_from_comment7 scCs|jtjd�d�dS(NsA Silly; Personsperson@dom.ains""A Silly; Person" <person@dom.ain>(sA Silly; Personsperson@dom.ain(R@RR(R.((s+/sys/lib/python2.7/email/test/test_email.pyttest_quote_dump= scCs{|j}|tjd�d�|tjd�d�|tjd�d�|tjd�d�|tjd�d�dS(Nthelloshello
shello
shello
shello
s hello
(R@Rtfix_eols(R.RB((s+/sys/lib/python2.7/email/test/test_email.pyt
test_fix_eolsB s cCs�|j}|j}t�}t�}||d�||d�||d�|d|�|d|�|d|�||d�||d�||d�|d|�|d|�|d|�|||�|||�dS(Nsus-asciisUS-ASCIIsUs-AsCiItusasciitUSASCIItUsAsCiI(R@tassertNotEqualR(R.RBtnetcset1tcset2((s+/sys/lib/python2.7/email/test/test_email.pyttest_charset_richcomparisonsJ 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(R@Rtgetaddresses(R.RB((s+/sys/lib/python2.7/email/test/test_email.pyttest_getaddresses^ s
cCsm|j}|tjdg�dg�|tjdg�d d
dg�|tjddg�dd
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(R@RR((R.RB((s+/sys/lib/python2.7/email/test/test_email.pyttest_getaddresses_nastye s cCs4|j}tjdg�}||ddd�dS(s(Test proper handling of a nested comments%User ((nested comment)) <foo@bar.com>iisfoo@bar.comN(R@RR((R.RBtaddrs((s+/sys/lib/python2.7/email/test/test_email.pyt"test_getaddresses_embedded_commento s cCs?|j}t�}|jdddd�||j�d�dS(Nscontent-dispositionR�R#sfoo\wacky"name(R@R R�RT(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_utils_quote_unquoteu s
cCs&td�}|j|j�d�dS(Ns
not a charsetR�(RR@tget_body_encoding(R.RD((s+/sys/lib/python2.7/email/test/test_email.pyt)test_get_body_encoding_with_bogus_charset| scCst|j}t�}d|d<||dd�|j�}|t|�d�||dd�t|d�}||j�d�|jdd |�||j�d
�||jdt�d�||dd�t�}d
|d<|j�}|t|�d�||dd�t|d�}||j�t j
�|jdd |�||j�d�||dd�dS(Nstext/plain; charset=UTF-8sContent-Typescontent-typeiisutf-8R�shello worldRDsaGVsbG8gd29ybGQ=
Rqscontent-transfer-encodingstext/plain; charset="US-ASCII"sus-asciiR�(R@R RPR&RR.RMRSRiRtencode_7or8bit(R.RBR9RQRD((s+/sys/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(RR@R.(R.tlctuc((s+/sys/lib/python2.7/email/test/test_email.pyttest_charsets_case_insensitive�scCsH|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
(R5R:RRRtR-(R.RBR9R{((s+/sys/lib/python2.7/email/test/test_email.pyt1test_partial_falls_inside_message_delivery_status�s (#R;R<R�R�R�R�R�RRRRRRR R
RRRRRRRRRRRR'R)R*R,R-R/R1R4R5(((s+/sys/lib/python2.7/email/test/test_email.pyR�csB
t
TestIteratorscBs,eZd�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(
R@R5R:Rtbody_line_iteratorR�R&tEMPTYSTRINGRRSR%RgR8(R.RBR�R9titR�R4((s+/sys/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
(R@R:Rttyped_subpart_iteratorR�RSR8R(R.RBR9R9R�tsubpartsRW((s+/sys/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
(R@R:RR;R�RSR8R(R.RBR9R9R�R<RW((s+/sys/lib/python2.7/email/test/test_email.pyt(test_typed_subpart_iterator_default_type�s
c Cs+ddddddddg}dd
lm}m}|�}g}d}x�|D]|\}}|j|�||7}d} x=tr�|j�}
|
|kr�Pn|j|
�| d7} q|W|j|| k�qPW|jt|�|k�|jdj g|D]\}}|^q�dj |�k�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�(tBufferedSubFiletNeedMoreDataN(sa
i(Ri(sc
i(Ri(sd
i(se
i(s
fi(s
i(
temail.feedparserR?R@tpushRitreadlineR�R�R&R(R.timtR?R@tbsftomtnttiltntn1tol((s+/sys/lib/python2.7/email/test/test_email.pyttest_pushCR_LF
s2
(R;R<R:R=R>RL(((s+/sys/lib/python2.7/email/test/test_email.pyR6�s tTestParserscBskeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�ZRS(cCs�|j}td�}zt�j|�}Wd|j�X||dd�||dd�||j�d�|j|j��|jt |j
�t��dS(Ns
msg_02.txtR�sppp-request@zzz.orgR�sppp@zzz.orgsmultipart/mixed(R@R%RtparseR8RHR�R@R�R~RSR'(R.RBR4R9((s+/sys/lib/python2.7/email/test/test_email.pyttest_header_parser)
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
(R@R6R�RS(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_whitespace_continuation7
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-idRPsHere's the message body
(R@R6R�RS(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyt(test_whitespace_continuation_last_headerI
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(R@R%RRNR8R&RSRH(R.RBR4R9tpart1tpart2((s+/sys/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
(
R@R5R%R6R7R8R@R&RSRH( R.RBR�R4R9RStpart1aRTtpart2a((s+/sys/lib/python2.7/email/test/test_email.pyt-test_multipart_digest_with_extra_mime_headersi
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(R6R�R+RR@(R.R�R9((s+/sys/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(R@R6R�tget(R.RBtvalue1tvalue2RR9((s+/sys/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(R@R6R�R&R�R�RS(R.RBRR9R�((s+/sys/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(R@R6R�R&R�(R.RBRR9((s+/sys/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_(R@R6R�R�R�RS(R.RBRR9theaders((s+/sys/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
(R6R�R�RStendswith(R.RR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_CRLFLF_at_end_of_part�s(
R;R<RORQRRRURXRZR^R`RaRfRh(((s+/sys/lib/python2.7/email/test/test_email.pyRM(
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(NRteolRiiiiiii iiiR�(R@Rt
base64_lenR&R�R(R.RBtsizetbsize((s+/sys/lib/python2.7/email/test/test_email.pyttest_len�s cCsk|j}|tjd�d�|tjd�d�|tjdd�d�|tjdd�d�dS(NRsaGVsbG8=RtXsaGVsbG8NCndvcmxk
thelloXworld(R@RRq(R.RB((s+/sys/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(NRRs aGVsbG8=
shello
s aGVsbG8K
is
aGVsbG8NCg==
sxxxx iRi(s�eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IA==
Rjs
s�eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IA==
(R@RR�(R.RB((s+/sys/lib/python2.7/email/test/test_email.pyttest_encode�s cCs�|j}tj}||d�d�||d�d�||ddd�d�||ddt�d �||d
ddd
�d�||d
ddd
dd�d�dS(NRs=?iso-8859-1?b?aGVsbG8=?=shello
worlds!=?iso-8859-1?b?aGVsbG8NCndvcmxk?=RDs
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?=Rjs
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@Rt
header_encodeRi(R.RBthe((s+/sys/lib/python2.7/email/test/test_email.pyttest_header_encode�s (R;R<RnRqRrRv(((s+/sys/lib/python2.7/email/test/test_email.pyRi�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
ddd
g|_gtd�D]'}t|�|jkr�t|�^q�|_gttd
�td�d�D]}t|�^qdg|_|jjd�gtd�D]'}t|�|jkrYt|�^qY|_dS(NR�tziRbtZt0t9t!t*RNRMt/Rit~s t=(Rtordtchrthlitthnontblittremovetbnon(R.R�((s+/sys/lib/python2.7/email/test/test_email.pyR s�=B=cCsXx'|jD]}|jtj|��q
Wx'|jD]}|jtj|��q4WdS(N(R�R�Rtheader_quopri_checkR�R�(R.tc((s+/sys/lib/python2.7/email/test/test_email.pyttest_header_quopri_check scCsXx'|jD]}|jtj|��q
Wx'|jD]}|jtj|��q4WdS(N(R�R�Rtbody_quopri_checkR�R�(R.R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_body_quopri_check&sc
Cs�|j}tj}tj}x=d D]5}|||�t||dddd��d�q"Wx$|jD]}|||�d�qeWx$|jD]}|||�d�q�WdS(
NRs
h@e@l@l@o@RDRRjiii(shellos
h@e@l@l@o@(R@Rtheader_quopri_lenRtR&R�R�(R.RBthqltencR~R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_header_quopri_len,s
3cCsd|j}tj}x$|jD]}|||�d�qWx$|jD]}|||�d�qCWdS(Nii(R@Rtbody_quopri_lenR�R�(R.RBtbqlR�((s+/sys/lib/python2.7/email/test/test_email.pyttest_body_quopri_len8s cCsIxBtd�D]4}t|�}|jtjtj|��|�q
WdS(Ni(RR�R@RR�tquote(R.R�R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_quote_unquote_idempotent@scCs�|j}tj}||d�d�||d�d�||ddd�d�||ddt�d �||d
�d�||dd
dd�d�||dd
dddd�d�dS(NRs=?iso-8859-1?q?hello?=shello
worlds!=?iso-8859-1?q?hello=0D=0Aworld?=RDs
iso-8859-2s=?iso-8859-2?q?hello?=Rss=?iso-8859-1?q?hello=0Aworld?=shello�heres=?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_?=Rjs
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@RRtRi(R.RBRu((s+/sys/lib/python2.7/email/test/test_email.pyRvEs cCsk|j}|tjd�d�|tjd�d�|tjdd�d�|tjdd�d�dS(NRRRoshello
worldRp(R@RRq(R.RB((s+/sys/lib/python2.7/email/test/test_email.pyRq_s
cCs�|j}|tjd�d�|tjd�d�|tjd�d�|tjdd�d�|tjdddd �d
�|tjdddd dd�d
�|tjd�d�dS(NRRshello
worldshello
worldisxxxx iRi(sjxxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx=
xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxx=
x xxxx xxxx xxxx xxxx=20Rjs
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(R@RR�(R.RB((s+/sys/lib/python2.7/email/test/test_email.pyRrfs (R;R<R R�R�R�R�R�RvRqRr(((s+/sys/lib/python2.7/email/test/test_email.pyRws tTestCharsetcBs5eZd�Zd�Zd�Zd�Zd�ZRS(cCs6ddlm}y|jd=Wntk
r1nXdS(Ni�(Rtfake(R6RtCHARSETSR�(R.t
CharsetModule((s+/sys/lib/python2.7/email/test/test_email.pyttearDown�s
cCso|j}td�}d}|j|�}|||j|��d}|j|�}|||j|��dS(Nsus-asciisHello World!s
�����(R@Rt
to_splittabletfrom_splittable(R.RBR�R~tsp((s+/sys/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�nXddlm}|jd
|jd�td
�}|d|jd��dS(Ns
iso-8859-1s
hello w=F6rldshello w�sutf-8saGVsbG8gd29ybGQ=
shello worldsus-asciiseuc-jps$B5FCO;~IW(Bs����i�(RR�( R@Rtbody_encodeRktLookupErrorR6tadd_charsettQPRF(R.RBR�R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_body_encode�s&
cCs<td�}|jt|�d�|jtjtd�dS(Nuus-asciisus-asciisasc�RR@R'R`RtCharsetError(R.RD((s+/sys/lib/python2.7/email/test/test_email.pyttest_unicode_charset_name�scCs&td�}|jt|�d�dS(NR�sutf-8(RR@R'(R.RD((s+/sys/lib/python2.7/email/test/test_email.pyttest_codecs_aliases_accepted�s(R;R<R�R�R�R�R�(((s+/sys/lib/python2.7/email/test/test_email.pyR��s
t
TestHeadercBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�ZRS(cCsL|j}td�}||j�d�|jd�||j�d�dS(NsHello World!s Goodbye World!sHello World! Goodbye World!(R5RR�R�(R.RBR�((s+/sys/lib/python2.7/email/test/test_email.pyttest_simple�s
cCsL|j}td�}||j�d�|jd�||j�d�dS(NsHello World!sGoodbye World!sHello World! Goodbye World!(R5RR�R�(R.RBR�((s+/sys/lib/python2.7/email/test/test_email.pyttest_simple_surprise�s
cCs)d}|jt|�|dfg�dS(Nsno decoding needed(R@RRF(R.R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_header_needs_no_decoding�scCsUtddd�}x<|jdd�jd�D]}|jt|�dk�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�R�R&(R.R�tl((s+/sys/lib/python2.7/email/test/test_email.pyt test_long�s "cCs|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�ndischen Wandgem�en vorbei, gegen die rotierenden Klingen bef�rt. s;Finan� metropole se hroutily pod tlakem jejich d�pu.. 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.」と言っています。(R5RR�RR�RR�R(R.RBRR�R�R�R�R�R�R�tustrtnewh((s+/sys/lib/python2.7/email/test/test_email.pyttest_multilingual�s* cCsF|j}t�}||d�|jdtd��||d�dS(NRRus
iso-8859-1s=?iso-8859-1?q?foo?=(R5RR�R(R.RBR�((s+/sys/lib/python2.7/email/test/test_email.pyttest_header_ctor_default_args 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(R5RR�(R.RBR�R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_explicit_maxlinelens cCsN|j}d}t|�}||dg�t|�}|||j��dS(NR(shelloN(R@RRFRR�(R.RBR~R�R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_us_ascii_headers cCs3|j}t�}|jdd�||d�dS(NRs
iso-8859-1s=?iso-8859-1?q?hello?=(R@RR�(R.RBR�((s+/sys/lib/python2.7/email/test/test_email.pyttest_string_charset&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?=(R@RR�(R.RBR�((s+/sys/lib/python2.7/email/test/test_email.pyttest_utf8_shortest5s
cCs�|j}|j}d}|tt|�t�}|t|j|�|tt|dd��|�|j|dd�|t|�|�dS(Ns0Ynwp4dUEbay Auction Semiar- No Charge �Earn BigR�R�(R`R@tUnicodeErrorRR�R'(R.R`RBR�R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_bad_8bit_header<s cCsq|j}t�}|jdd�|jd�|j�}||d�tt|��}||j�|�dS(NRs
iso-8859-1tworlds=?iso-8859-1?q?hello?= world(R@RR�R�RR(R.RBR�R~((s+/sys/lib/python2.7/email/test/test_email.pyt test_encoded_adjacent_nonencodedGs
cCsT|j}d}t|�}||ddd g�t|�}||j�d�dS(
NsGSubject: =?koi8-r?b?8NLP18XSy8EgzsEgxsnOwczYztk=?= =?koi8-r?q?=CA?= zz.sSubject:s��� � �����koi8-rszz.s6Subject: =?koi8-r?b?8NLP18XSy8EgzsEgxsnOwczYztnK?= zz.(sSubject:N(s��� � �����koi8-r(szz.N(R@RRFRR�(R.RBR~tpartsthdr((s+/sys/lib/python2.7/email/test/test_email.pyttest_whitespace_eaterQs cCs&|j}d}|tjt|�dS(NsXSubject: =?EUC-KR?B?CSixpLDtKSC/7Liuvsax4iC6uLmwMcijIKHaILzSwd/H0SC8+LCjwLsgv7W/+Mj3I ?=(R`RRaR(R.R`R~((s+/sys/lib/python2.7/email/test/test_email.pyttest_broken_base64_headerZs cCs7t�}|jdddd�|jd|d�dS(NsContent-DispositionR�R#sbud.gifsattachment; filename="bud.gif"(R R�R@(R.R9((s+/sys/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�aller.ppts3attachment; filename*="iso-8859-1''Fu%DFballer.ppt"(s
iso-8859-1Rs
Fu�aller.ppt(R R�R@(R.R9((s+/sys/lib/python2.7/email/test/test_email.pyt#test_nonascii_add_header_via_triplegs cCs9tdd�j�}|j|d�|j|t�dS(Ntabcs
iso-8859-2s=?iso-8859-2?q?abc?=(RR�R@tassertIsInstanceR'(R.tres((s+/sys/lib/python2.7/email/test/test_email.pyttest_encode_unaliased_charsetos(R;R<R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((s+/sys/lib/python2.7/email/test/test_email.pyR��s" 1
tTestRFC2231cBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�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!"(R@R:RIRk(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyR�ys 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!RDsus-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-asciisens%This is even more ***fun*** isn't it!(R@R R�RIR:R5Re(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyR��s
cCsz|j}|jd�}|jdddddd�|jdd dddd�|jdd
d�||j�d�dS(
Ns
msg_01.txtRuR�RDsus-asciiR�R�R�s%This is even more ***fun*** isn't it!RbsContent-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
(R5R:R�R�Re(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyR��s
cCs/|j}|jd�}||j�d�dS(Ns
msg_32.txtsus-ascii(R@R:R�(R.RBR9((s+/sys/lib/python2.7/email/test/test_email.pyt test_rfc2231_get_content_charset�s cCsNd}tj|�}|jd�}|jt|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(R6R�RIR�R~ttupleR@(R.RR9tparam((s+/sys/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(R6R�R@RT(R.RR9((s+/sys/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(R6R�R@RT(R.RR9((s+/sys/lib/python2.7/email/test/test_email.pyt7test_rfc2231_no_language_or_charset_in_filename_encoded�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(R6R�R@RT(R.RR9((s+/sys/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(R6R�R@RT(R.RR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_rfc2231_partly_nonencoded�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(R6R�R@R[(R.RR9((s+/sys/lib/python2.7/email/test/test_email.pyt/test_rfc2231_no_language_or_charset_in_boundary
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(R6R�R@R�(R.RR9((s+/sys/lib/python2.7/email/test/test_email.pyt.test_rfc2231_no_language_or_charset_in_charset
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(R6R�R@RT(R.RR9((s+/sys/lib/python2.7/email/test/test_email.pyt%test_rfc2231_bad_encoding_in_filename"
scCs/d}tj|�}|j|j�d�dS(Ns:Content-Type: text/plain; charset*=bogus''utf-8%E2%80%9D
(R6R�R@R�RF(R.RR9((s+/sys/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
(R6R�R@R�RF(R.RR9((s+/sys/lib/python2.7/email/test/test_email.pyt%test_rfc2231_bad_character_in_charset8
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�(R6R�R@RT(R.RR9((s+/sys/lib/python2.7/email/test/test_email.pyt&test_rfc2231_bad_character_in_filenameB
scCs/d}tj|�}|j|j�d�dS(Ns^Content-Transfer-Encoding: 8bit
Content-Disposition: inline; filename*=X-UNKNOWN''myfile.txt
s
myfile.txt(R6R�R@RT(R.RR9((s+/sys/lib/python2.7/email/test/test_email.pyttest_rfc2231_unknown_encodingN
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(R@R6R�RIRF(R.RBRR9RDR�R~((s+/sys/lib/python2.7/email/test/test_email.pyt-test_rfc2231_single_tick_in_filename_extendedW
s
cCsNd}tj|�}|jd�}|jt|t��|j|d�dS(NsGContent-Type: application/x-foo; name*0="Frank's"; name*1=" Document"
R�sFrank's Document(R6R�RIR�R~R�R@(R.RR9R�((s+/sys/lib/python2.7/email/test/test_email.pyt$test_rfc2231_single_tick_in_filenamed
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(R@R6R�RI(R.RBRR9RDR�R~((s+/sys/lib/python2.7/email/test/test_email.pyt!test_rfc2231_tick_attack_extendedn
s
cCsNd}tj|�}|jd�}|jt|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(R6R�RIR�R~R�R@(R.RR9R�((s+/sys/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(R@R6R�RI(R.RBRR9((s+/sys/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(R@R6R�RI(R.RBRR9RDR�R~((s+/sys/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(R@R6R�RI(R.RBRR9RDR�R~((s+/sys/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�R�R�R�R�(((s+/sys/lib/python2.7/email/test/test_email.pyR�xs. %
t
TestSignedcBs,eZd�Zd�Zd�Zd�ZRS(cCsItt|��}z|j�}tj|�}Wd|j�X||fS(N(R%RRgR6R�R8(R.R#R4toriginalR9((s+/sys/lib/python2.7/email/test/test_email.pyt_msg_and_obj�scCslddl}|jd|j|jB�}|j|�jd�}|j|�jd�}|j||�dS(Ni�s^--([^\n]+)\n(.*?)\n--\1$i(tretcompiletStMtsearchtgroupR@(R.R�tresultR�treparttinparttoutpart((s+/sys/lib/python2.7/email/test/test_email.pyt_signed_parts_eq�s
cCs5|jd�\}}|j�}|j||�dS(Ns
msg_45.txt(R�ReR�(R.R�R9R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_long_headers_as_string�scCsQ|jd�\}}t�}t|�j|�|j�}|j||�dS(Ns
msg_45.txt(R�RRRjR-R�(R.R�R9R4R�((s+/sys/lib/python2.7/email/test/test_email.pyttest_long_headers_flatten�s
(R;R<R�R�R�R�(((s+/sys/lib/python2.7/email/test/test_email.pyR��s cCsBtjt}gt|�D]$}|jd�rt||�^qS(NR(RxtmodulesR;tdirR�tgetattr(tmodR�((s+/sys/lib/python2.7/email/test/test_email.pyt_testclasses�s
cCs:tj�}x't�D]}|jtj|��qW|S(N(tunittestt TestSuiteR�taddTestt makeSuite(tsuitet testclass((s+/sys/lib/python2.7/email/test/test_email.pyR��scCs"xt�D]}t|�q
WdS(N(R�R(R�((s+/sys/lib/python2.7/email/test/test_email.pyt test_main�st__main__tdefaultTestR�(QRRxRQR�R(R�twarningsR$t cStringIORR6t
email.CharsetRtemail.HeaderRRRtemail.ParserRRtemail.GeneratorRRt
email.MessageR temail.MIMEAudioR
temail.MIMETextRtemail.MIMEImageRtemail.MIMEBaseR
temail.MIMEMessageRtemail.MIMEMultipartRRRRRRRttest.test_supportRRt
email.testRR!R+R8RR%tTestCaseR&R=R�R�RR(R9R=RJRzR�R�R�R�R6RMRiRwR�R�R�R�R�R�R�R;tmain(((s+/sys/lib/python2.7/email/test/test_email.pyt<module>s���81+4�s>���\�Ho=��!
|