Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/test/test_email/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/test/test_email/__pycache__/test_email.cpython-33.pyo

�
��f%c@s}ddlZddlZddlZddlZddlZddlmZmZddlm	Z	ddl
Z
ddlZ
ddlm
Z
ddlmZmZmZddlmZmZddlmZmZmZddlmZdd	lmZdd
lmZddlm Z ddl!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-ddl
m.Z.ddl/m0Z0ddl1m2Z2m3Z3ddlm4Z4m5Z5dZ6dZ7dZ8Gdd�de3�Z9Gdd�dej:�Z;Gd d!�d!e3�Z<Gd"d#�d#ej:�Z=Gd$d%�d%ej:�Z>Gd&d'�d'ej:�Z?Gd(d)�d)ej:�Z@Gd*d+�d+ej:�ZAGd,d-�d-e3�ZBGd.d/�d/e3�ZCGd0d1�d1e3�ZDGd2d3�d3e3�ZEGd4d5�d5e3�ZFGd6d7�d7e3�ZGGd8d9�d9e3�ZHGd:d;�d;e3�ZIGd<d=�d=e3�ZJGd>d?�d?�ZKGd@dA�dAeKeF�ZLGdBdC�dCeKeF�ZMGdDdE�dEej:�ZNGdFdG�dGej:�ZOGdHdI�dIej:�ZPGdJdK�dKe3�ZQGdLdM�dMe3�ZRGdNdO�dOe3�ZSeTdPkryejU�ndS(QiN(uStringIOuBytesIO(uchain(uCharset(uHeaderu
decode_headerumake_header(uParseruHeaderParser(u	GeneratoruDecodedGeneratoruBytesGenerator(uMessage(uMIMEApplication(u	MIMEAudio(uMIMEText(u	MIMEImage(uMIMEBase(uMIMEMessage(u
MIMEMultipart(uutils(uerrors(uencoders(u	iterators(u
base64mime(u
quoprimime(uunlink(uopenfileu
TestEmailBase(u
FeedParseruBytesFeedParseru
uu cBs�|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/d[d\�Z0d]d^�Z1d_d`�Z2dadb�Z3dcdd�Z4dedf�Z5dgdh�Z6didj�Z7dkdl�Z8dmdn�Z9dodp�Z:dqdr�Z;dsdt�Z<dudv�Z=dwdx�Z>dydz�Z?d{d|�Z@d}d~�ZAdd��ZBd�d��ZCd�d��ZDd�d��ZEd�d��ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZOd�d��ZPd�S(�uTestMessageAPIcCsT|j}|jd�}||jd�dddg�||jdd�d�dS(Nu
msg_20.txtuccuccc@zzz.orguddd@zzz.orgueee@zzz.orguxxun/a(uassertEqualu_msgobjuget_all(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_all2s	uTestMessageAPI.test_get_allcCsL|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(Nu
iso-8859-1umime-versionu1.0u
text/plainucontent-typeu text/plain; charset="iso-8859-1"ucharsetucontent-transfer-encodinguquoted-printableu2.0uMIME-Versionutext/x-weirduContent-Typeuquinted-puntableuContent-Transfer-Encodingu"text/x-weird; charset="iso-8859-1"(	uassertEqualuMessageuget_charsetuNoneuCharsetuset_charsetuget_content_typeu	get_paramu
input_charset(uselfuequmsgucharset((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_getset_charset8s,		

	



u"TestMessageAPI.test_getset_charsetcCsJ|j}t�}|jd�||j�jd�||dd�dS(Nuus-asciiucontent-typeutext/plain; charset="us-ascii"(uassertEqualuMessageuset_charsetuget_charsetu
input_charset(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_set_charset_from_stringRs
		
u+TestMessageAPI.test_set_charset_from_stringcCsBt�}td�}|jd|�|j|j�jd�dS(Nu
iso-8859-1uThis is a string payload(uMessageuCharsetuset_payloaduassertEqualuget_charsetu
input_charset(uselfumsgucharset((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_set_payload_with_charsetYs	u,TestMessageAPI.test_set_payload_with_charsetcCsud}td�}t�}|j||�|j|dd�|j|jdd�|�|j|j�d�dS(NsАБВuutf-8ucontent-transfer-encodingubase64udecodeu	0JDQkdCS
T(uCharsetuMessageuset_payloaduassertEqualuget_payloaduTrue(uselfudataucharsetumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu+test_set_payload_with_8bit_data_and_charset_s	u:TestMessageAPI.test_set_payload_with_8bit_data_and_charsetcCsqd}td�}d|_t�}|j|jd�|�|j|dd�|j|jdd�|�dS(NsАБВuutf-8ucontent-transfer-encodingu8bitudecodeT(	uCharsetuNoneu
body_encodinguMessageuset_payloadudecodeuassertEqualuget_payloaduTrue(uselfudataucharsetumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu>test_set_payload_with_non_ascii_and_charset_body_encoding_nonehs		uMTestMessageAPI.test_set_payload_with_non_ascii_and_charset_body_encoding_nonecCshd}td�}d|_t�}|j||�|j|dd�|j|jdd�|�dS(NsАБВuutf-8ucontent-transfer-encodingu8bitudecodeT(uCharsetuNoneu
body_encodinguMessageuset_payloaduassertEqualuget_payloaduTrue(uselfudataucharsetumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu>test_set_payload_with_8bit_data_and_charset_body_encoding_noneqs		uMTestMessageAPI.test_set_payload_with_8bit_data_and_charset_body_encoding_nonecCs0t�}|jg�|j|j�g�dS(N(uMessageuset_payloaduassertEqualuget_payload(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_set_payload_to_listzs	
u'TestMessageAPI.test_set_payload_to_listc
Cs�|j}|jd�}|j�}||dddddg�|jd�}|jd�}||dddddg�|jd�}|j�}||dddddd	ddg�dS(
Nu
msg_08.txtuus-asciiu
iso-8859-1u
iso-8859-2ukoi8-ru
msg_09.txtudingbatu
msg_12.txtu
iso-8859-3(uassertEqualu_msgobjuget_charsetsuNone(uselfuequmsgucharsets((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_charsetss	
u TestMessageAPI.test_get_charsetscCsy|j}|jd�}dd�|j�D�}||ddg�|jd�}|jd�}||j�d�dS(Nu
msg_04.txtcSsg|]}|j��qS((uget_filename(u.0up((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
<listcomp>�s	u4TestMessageAPI.test_get_filename.<locals>.<listcomp>umsg.txtu
msg_07.txtiudingusfish.gif(uassertEqualu_msgobjuget_payloaduget_filename(uselfuequmsgu	filenamesusubpart((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_filename�s	u TestMessageAPI.test_get_filenamecCsH|j}|jd�}dd�|j�D�}||ddg�dS(Nu
msg_44.txtcSsg|]}|j��qS((uget_filename(u.0up((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
<listcomp>�s	uHTestMessageAPI.test_get_filename_with_name_parameter.<locals>.<listcomp>umsg.txt(uassertEqualu_msgobjuget_payload(uselfuequmsgu	filenames((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu%test_get_filename_with_name_parameter�s	u4TestMessageAPI.test_get_filename_with_name_parametercCs/|j}|jd�}||j�d�dS(Nu
msg_07.txtuBOUNDARY(uassertEqualu_msgobjuget_boundary(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_boundary�s	u TestMessageAPI.test_get_boundarycCs�|j}|jd�}|jd�|j�d\}}||j�d�||d�|jd�}|jd�|j�d\}}||j�d�||d�|jd�}|jtj|jd�dS(	Nu
msg_01.txtuBOUNDARYiucontent-typeu3text/plain; charset="us-ascii"; boundary="BOUNDARY"u
msg_04.txtu$multipart/mixed; boundary="BOUNDARY"u
msg_03.txt(uassertEqualu_msgobjuset_boundaryuitemsuloweruassertRaisesuerrorsuHeaderParseError(uselfuequmsguheaderuvalue((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_set_boundary�s	



u TestMessageAPI.test_set_boundarycCs`td�}|j|j�ddd�|j�|j|j�dddd�d�dS(Nu	form-dataiiumultipart/form-datai!u!multipart/form-data; boundary="==(u
MIMEMultipartuassertEqualuitemsu	as_string(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_make_boundary�s

!u!TestMessageAPI.test_make_boundaryc
Cs~td��}|j�}WdQXt�}|j|�}t�}t|dd�}|j|d�|j	|j
�|�dS(Nu
msg_46.txtiTF(uopenfileureaduHeaderParseruparsestruStringIOu	GeneratoruTrueuflattenuFalseuassertEqualugetvalue(uselfufpumsgdatauparserumsguoutugen((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_message_rfc822_only�s		u'TestMessageAPI.test_message_rfc822_onlyc	Cs�td��}|j�jd�}WdQXtjj�}|j|�}t�}tjj	|�}|j
|�|j|j�|�dS(Nu
msg_46.txtuascii(
uopenfileureaduencodeuemailuparseruBytesHeaderParseru
parsebytesuBytesIOu	generatoruBytesGeneratoruflattenuassertEqualugetvalue(uselfufpumsgdatauparserumsguoutugen((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_byte_message_rfc822_only�s	
u,TestMessageAPI.test_byte_message_rfc822_onlycCs�|j}|jd�}||jdd
�d�||jd�jdd
�d�||jd�jdd
�d�||jd�jdd
�d�||jd	�jdd
�d
�||jd�jdd
�d�dS(Nu
msg_10.txtudecodeis 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.
T(uassertEqualu_msgobjuget_payloaduTrueuNone(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_decoded_payload�s	u'TestMessageAPI.test_get_decoded_payloadcCs}|j}t�}|jd�x1dD])}||d<||jdd�d�q&W|jd	�||jdd�d
�dS(
Nu$begin 666 -
+:&5L;&\@=V]R;&0 
 
end
u
x-uuencodeuuuencodeuuueux-uueucontent-transfer-encodingudecodeshello worldufoosfoo(u
x-uuencodeuuuencodeuuueux-uueT(uassertEqualuMessageuset_payloaduget_payloaduTrue(uselfuequmsgucte((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_decoded_uu_payload�s		



u*TestMessageAPI.test_get_decoded_uu_payloadcCs#t�}|jt|jd�dS(Ni(uMessageuassertRaisesu	TypeErroruget_payload(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu*test_get_payload_n_raises_on_non_multiparts	u9TestMessageAPI.test_get_payload_n_raises_on_non_multipartc	Csr|j}|jd�}td��}|j�}WdQXt�}t|�}|j|�||j�|�dS(Nu
msg_07.txtu
msg_17.txt(uassertEqualu_msgobjuopenfileureaduStringIOuDecodedGeneratoruflattenugetvalue(uselfuequmsgufputextusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decoded_generators		
u%TestMessageAPI.test_decoded_generatorcCs�t�}d|d<d|d<|jd|�|jd|�|jd|�|jd|�|jd|�|jd|�dS(	NuMeuFromuYouutoufromuFROMuTouTO(uMessageuassertIn(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest__contains__s	

uTestMessageAPI.test__contains__cCs�|j}|jd�}td��}|j�}WdQX||t|��|jdd�}|jd�}|j|dj	d��||t
j|dd���dS(Nu
msg_01.txtuunixfromu
iuFrom iT(undiffAssertEqualu_msgobjuopenfileureadustru	as_stringuTrueusplitu
assertTrueu
startswithuNLujoin(uselfuequmsgufputextufullreprulines((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_as_strings	uTestMessageAPI.test_as_stringcCs,tjd�}|j|jd�d�dS(NuContent-Type: blarg; baz; boo
ubazu(uemailumessage_from_stringuassertEqualu	get_param(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_bad_param'suTestMessageAPI.test_bad_paramcCs)tjd�}|j|j�d�dS(Nu
From: foo
(uemailumessage_from_stringuassertEqualuget_filenameuNone(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_missing_filename+su$TestMessageAPI.test_missing_filenamecCs)tjd�}|j|j�d�dS(Nu%Content-Disposition: blarg; filename
u(uemailumessage_from_stringuassertEqualuget_filename(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_bogus_filename/s	u"TestMessageAPI.test_bogus_filenamecCs)tjd�}|j|j�d�dS(Nu
From: foo
(uemailumessage_from_stringuassertEqualuget_boundaryuNone(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_missing_boundary4su$TestMessageAPI.test_missing_boundarycCs�|j}tjd�}||jdd�d
ddg�tjd
�}||jdd�dddg�||j�d�tjd�}||jdd�dddg�dS(Nu&X-Header: foo=one; bar=two; baz=three
uheaderux-headerufoouoneubarutwoubazuthreeu X-Header: foo; bar=one; baz=two
uu"X-Header: foo; bar="one"; baz=two
(ufoouone(ubarutwo(ubazuthree(ufoou(ubaruone(ubazutwo(ufoou(ubaruone(ubazutwo(uassertEqualuemailumessage_from_stringu
get_paramsuNone(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_params8s				uTestMessageAPI.test_get_paramscCs0t�}d|d<|j|jd�d�dS(Nu>Content-Type: Multipart/mixed; boundary = "CPIMSSMTPC06p5f3tG"uContent-TypeuboundaryuCPIMSSMTPC06p5f3tG(uMessageuassertEqualu	get_param(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_param_liberalIs	
u%TestMessageAPI.test_get_param_liberalcCs�|j}tjd�}||jddd�d�||jddd�d�||jd�d�tjd�}||jddd�d	�||jddd�d
�||jddd�d�dS(Nu&X-Header: foo=one; bar=two; baz=three
ubaruheaderux-headerutwouquuzu"X-Header: foo; bar="one"; baz=two
ufoouuoneubaz(uassertEqualuemailumessage_from_stringu	get_paramuNone(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_paramNs			uTestMessageAPI.test_get_paramcCs5|jd�}|j|jd�jd�d�dS(Nu
msg_22.txtiunameu
wibble.JPG(u_msgobjuassertEqualuget_payloadu	get_param(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu'test_get_param_funky_continuation_lines`su6TestMessageAPI.test_get_param_funky_continuation_linescCsKtjd�}|j|jd�d�|j|jddd�d�dS(Nu4Content-Type: image/pjpeg; name="Jim&amp;&amp;Jill"
unameuJim&amp;&amp;Jilluunquoteu"Jim&amp;&amp;Jill"F(uemailumessage_from_stringuassertEqualu	get_paramuFalse(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu#test_get_param_with_semis_in_quoteses
	u2TestMessageAPI.test_get_param_with_semis_in_quotescCsTtjd�}|j|jd�d�tjd�}|j|jd�d�dS(Nu5Content-Type: foo; bar*0="baz\"foobar"; bar*1="\"baz"ubarubaz"foobar"baz(uemailumessage_from_stringuassertEqualu	get_param(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_param_with_quotesms		u)TestMessageAPI.test_get_param_with_quotescCsStjd�}|jd|�|jd|�|jd|�|jd|�dS(NuHeader: existsuheaderuHeaderuHEADERuheaderx(uemailumessage_from_stringuassertInuassertNotIn(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_field_containmentus
u%TestMessageAPI.test_field_containmentcCs�|j}t�}|jdd�||jd�d�|jdd�||jd�d�||jddd
�d�||j�dddg�||jdd
�dddg�|jdd
dd�||jddd�d
�dS(Nucharsetuiso-2022-jpu
importanceu
high valueuunquoteu"high value"u
text/plainuu
"iso-2022-jp"uiso-9999-xxuheaderuX-JimmyF(u
text/plainu(ucharsetuiso-2022-jp(u
importanceu
high value(u
text/plainu(ucharsetu
"iso-2022-jp"(u
importanceu"high value"(uassertEqualuMessageu	set_paramu	get_paramuFalseu
get_params(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_set_param|s		

uTestMessageAPI.test_set_paramcCs�|j}|jd�}||j�dd	d
g�|jd�}|jd�||j�ddg�|jd|�||j�d
dd|fg�dS(Nu
msg_05.txtumultipart/reportuureport-typeudelivery-statusuboundaryu%D1690A7AC1.996856090/mail.example.com(umultipart/reportu(ureport-typeudelivery-status(uboundaryu%D1690A7AC1.996856090/mail.example.com(umultipart/reportu(uboundaryu%D1690A7AC1.996856090/mail.example.com(umultipart/reportu(uboundaryu%D1690A7AC1.996856090/mail.example.com(uassertEqualu_msgobju
get_paramsu	get_paramu	del_paramu	set_param(uselfuequmsguold_val((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_del_param�s	


uTestMessageAPI.test_del_paramcCsGt�}|jdddd�|jdd�|j|dd�dS(NuContent-Dispositionu
attachmentufilenameubud.gifucontent-disposition(uMessageu
add_headeru	del_paramuassertEqual(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_del_param_on_other_header�s	u-TestMessageAPI.test_del_param_on_other_headercCst�}|jdd�dS(Nufilenameucontent-disposition(uMessageu	del_param(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu$test_del_param_on_nonexistent_header�s	u3TestMessageAPI.test_del_param_on_nonexistent_headercCsTt�}|jdddd�|d}|jddd�|j|d|�dS(NuContent-Typeu
text/plainucharsetuutf-8ufoobaruheader(uMessageu
add_headeru	del_paramuassertEqual(uselfumsguexisting_header((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_del_nonexistent_param�s
	
u)TestMessageAPI.test_del_nonexistent_paramcCs�|j}t�}|jt|jd�|jd�||dd�|jdd�||dd�|jd�||dd�dS(	Nutextu
text/plainucontent-typeucharsetuus-asciiutext/plain; charset="us-ascii"u	text/htmlutext/html; charset="us-ascii"(uassertEqualuMessageuassertRaisesu
ValueErroruset_typeu	set_param(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
test_set_type�s		

uTestMessageAPI.test_set_typecCs;t�}d|d<|jdd�|j|dd�dS(Nu
text/plainuX-Content-Typeuapplication/octet-streamux-content-type(uMessageuset_typeuassertEqual(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_set_type_on_other_header�s	
u,TestMessageAPI.test_set_type_on_other_headercCs#t�}|j|j�d�dS(Nu
text/plain(uMessageuassertEqualuget_content_type(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_content_type_missing�s	u,TestMessageAPI.test_get_content_type_missingcCs0t�}|jd�|j|j�d�dS(Numessage/rfc822(uMessageuset_default_typeuassertEqualuget_content_type(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu/test_get_content_type_missing_with_default_type�s	
u>TestMessageAPI.test_get_content_type_missing_with_default_typecCs2|jd�}|j|jd�j�d�dS(Nu
msg_30.txtiumessage/rfc822(u_msgobjuassertEqualuget_payloaduget_content_type(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu+test_get_content_type_from_message_implicit�su:TestMessageAPI.test_get_content_type_from_message_implicitcCs2|jd�}|j|jd�j�d�dS(Nu
msg_28.txtiumessage/rfc822(u_msgobjuassertEqualuget_payloaduget_content_type(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu+test_get_content_type_from_message_explicit�su:TestMessageAPI.test_get_content_type_from_message_explicitcCs)|jd�}|j|j�d�dS(Nu
msg_03.txtu
text/plain(u_msgobjuassertEqualuget_content_type(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu6test_get_content_type_from_message_text_plain_implicit�suETestMessageAPI.test_get_content_type_from_message_text_plain_implicitcCs)|jd�}|j|j�d�dS(Nu
msg_01.txtu
text/plain(u_msgobjuassertEqualuget_content_type(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu6test_get_content_type_from_message_text_plain_explicit�suETestMessageAPI.test_get_content_type_from_message_text_plain_explicitcCs#t�}|j|j�d�dS(Nutext(uMessageuassertEqualuget_content_maintype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_get_content_maintype_missing�s	u0TestMessageAPI.test_get_content_maintype_missingcCs0t�}|jd�|j|j�d�dS(Numessage/rfc822umessage(uMessageuset_default_typeuassertEqualuget_content_maintype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu3test_get_content_maintype_missing_with_default_type�s	
uBTestMessageAPI.test_get_content_maintype_missing_with_default_typecCs2|jd�}|j|jd�j�d�dS(Nu
msg_30.txtiumessage(u_msgobjuassertEqualuget_payloaduget_content_maintype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu/test_get_content_maintype_from_message_implicit�su>TestMessageAPI.test_get_content_maintype_from_message_implicitcCs2|jd�}|j|jd�j�d�dS(Nu
msg_28.txtiumessage(u_msgobjuassertEqualuget_payloaduget_content_maintype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu/test_get_content_maintype_from_message_explicit�su>TestMessageAPI.test_get_content_maintype_from_message_explicitcCs)|jd�}|j|j�d�dS(Nu
msg_03.txtutext(u_msgobjuassertEqualuget_content_maintype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu:test_get_content_maintype_from_message_text_plain_implicit�suITestMessageAPI.test_get_content_maintype_from_message_text_plain_implicitcCs)|jd�}|j|j�d�dS(Nu
msg_01.txtutext(u_msgobjuassertEqualuget_content_maintype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu:test_get_content_maintype_from_message_text_plain_explicit�suITestMessageAPI.test_get_content_maintype_from_message_text_plain_explicitcCs#t�}|j|j�d�dS(Nuplain(uMessageuassertEqualuget_content_subtype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu test_get_content_subtype_missing�s	u/TestMessageAPI.test_get_content_subtype_missingcCs0t�}|jd�|j|j�d�dS(Numessage/rfc822urfc822(uMessageuset_default_typeuassertEqualuget_content_subtype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu2test_get_content_subtype_missing_with_default_type�s	
uATestMessageAPI.test_get_content_subtype_missing_with_default_typecCs2|jd�}|j|jd�j�d�dS(Nu
msg_30.txtiurfc822(u_msgobjuassertEqualuget_payloaduget_content_subtype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu.test_get_content_subtype_from_message_implicit�su=TestMessageAPI.test_get_content_subtype_from_message_implicitcCs2|jd�}|j|jd�j�d�dS(Nu
msg_28.txtiurfc822(u_msgobjuassertEqualuget_payloaduget_content_subtype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu.test_get_content_subtype_from_message_explicitsu=TestMessageAPI.test_get_content_subtype_from_message_explicitcCs)|jd�}|j|j�d�dS(Nu
msg_03.txtuplain(u_msgobjuassertEqualuget_content_subtype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu9test_get_content_subtype_from_message_text_plain_implicitsuHTestMessageAPI.test_get_content_subtype_from_message_text_plain_implicitcCs)|jd�}|j|j�d�dS(Nu
msg_01.txtuplain(u_msgobjuassertEqualuget_content_subtype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu9test_get_content_subtype_from_message_text_plain_explicit
suHTestMessageAPI.test_get_content_subtype_from_message_text_plain_explicitcCs-t�}d|d<|j|j�d�dS(Nuno-slash-in-this-stringuContent-Typeutext(uMessageuassertEqualuget_content_maintype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_content_maintype_errors	
u.TestMessageAPI.test_get_content_maintype_errorcCs-t�}d|d<|j|j�d�dS(Nuno-slash-in-this-stringuContent-Typeuplain(uMessageuassertEqualuget_content_subtype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_content_subtype_errors	
u-TestMessageAPI.test_get_content_subtype_errorcCs=|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(NuFirstuOneuSeconduTwouThirduThreeuTwentyuElevenuOne HundreduFourthuMissing(uassertEqualuMessageu
add_headerukeysuvaluesureplace_headeruassertRaisesuKeyError(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_replace_headers		u"TestMessageAPI.test_replace_headercCsjd}t�}d|d<d|d<|j|�|j|jdd	�d�|j|jdtj�dS(
NuAwDp0P7//y6LwKEAcPa/6Q=9uaudio/x-midiucontent-typeubase64ucontent-transfer-encodingudecodes����.���p���iT(	uMessageuset_payloaduassertEqualuget_payloaduTrueuassertIsInstanceudefectsuerrorsuInvalidBase64CharactersDefect(uselfuxumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_broken_base64_payload*s	


u)TestMessageAPI.test_broken_base64_payloadcCsYd}t�}d|d<d|d<|j|�|j|jdd�t|d��dS(	Nuthis is a bröken thing to dou
text/plainucontent-typeu8bitucontent-transfer-encodingudecodeuraw-unicode-escapeT(uMessageuset_payloaduassertEqualuget_payloaduTrueubytes(uselfuxumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_broken_unicode_payload6s	


u*TestMessageAPI.test_broken_unicode_payloadcCsUdjd�}t�}d|d<d|d<||_|j|jdd�|�dS(	Nu#this is a quéstionable thing to douutf-8utext/plain; charset="utf-8"ucontent-typeu8bitucontent-transfer-encodingudecodeT(uencodeuMessageu_payloaduassertEqualuget_payloaduTrue(uselfuxumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_questionable_bytes_payloadAs	

	u.TestMessageAPI.test_questionable_bytes_payloadcCs7t�}|jdddd�|jd|d�dS(NuContent-Dispositionu
attachmentufilenameubud.gifuattachment; filename="bud.gif"(uMessageu
add_headeruassertEqual(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_ascii_add_headerLs
		u$TestMessageAPI.test_ascii_add_headercCs7t�}|jdddd�|jd|d�dS(NuContent-Dispositionu
attachmentufilenameuFußballer.pptu/attachment; filename*=utf-8''Fu%C3%9Fballer.ppt(uMessageu
add_headeruassertEqual(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_noascii_add_headerSs	u&TestMessageAPI.test_noascii_add_headercCs7t�}|jdddd�|jd|d�dS(	NuContent-Dispositionu
attachmentufilenameu
iso-8859-1uuFußballer.pptu1attachment; filename*=iso-8859-1''Fu%DFballer.ppt(u
iso-8859-1uuFußballer.ppt(uMessageu
add_headeruassertEqual(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu#test_nonascii_add_header_via_triple[s	u2TestMessageAPI.test_nonascii_add_header_via_triplecCs7t�}|jdddd�|jd|d�dS(NuContent-Dispositionu
attachmentufilenameuwindows [filename].pptu-attachment; filename="windows [filename].ppt"(uMessageu
add_headeruassertEqual(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu#test_ascii_add_header_with_tspecialcs	u2TestMessageAPI.test_ascii_add_header_with_tspecialcCs7t�}|jdddd�|jd|d�dS(NuContent-Dispositionu
attachmentufilenameuFußballer [filename].pptu@attachment; filename*=utf-8''Fu%C3%9Fballer%20%5Bfilename%5D.ppt(uMessageu
add_headeruassertEqual(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu&test_nonascii_add_header_with_tspecialks	u5TestMessageAPI.test_nonascii_add_header_with_tspecialcCsfx_dD]W}t�}d||d<d|d<|jd�|j|jdd�d	d
|�qWdS(
Nulatin-1uasciiutext/plain; charset=%sucontent-typeuquoted-printableucontent-transfer-encodingsfoo=e6=96=87barudecodes	foo文baru1get_payload returns wrong result with charset %s.(ulatin-1uasciiT(uMessageuset_payloaduassertEqualuget_payloaduTrue(uselfucharsetumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_binary_quopri_payloadss
	

u)TestMessageAPI.test_binary_quopri_payloadcCsfx_dD]W}t�}d||d<d|d<|jd�|j|jdd�d	d
|�qWdS(
Nulatin-1uasciiutext/plain; charset=%sucontent-typeubase64ucontent-transfer-encodingsZm9v5paHYmFyudecodes	foo文baru1get_payload returns wrong result with charset %s.(ulatin-1uasciiT(uMessageuset_payloaduassertEqualuget_payloaduTrue(uselfucharsetumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_binary_base64_payload~s
	

u)TestMessageAPI.test_binary_base64_payloadcCs�x~dD]v}xmdD]e}t�}d||d<||d	<|jd
�|j|jdd�dtd�j||��qWqWdS(Nulatin-1uasciiu
x-uuencodeuuuencodeuuueux-uueutext/plain; charset=%sucontent-typeucontent-transfer-encodings begin 666 -
)9F]OYI:'8F%R
 
end
udecodes	foo文baru!get_payload returns wrong result u"with charset {0} and encoding {1}.(ulatin-1uascii(u
x-uuencodeuuuencodeuuueux-uueT(u!get_payload returns wrong result u"with charset {0} and encoding {1}.(uMessageuset_payloaduassertEqualuget_payloaduTrueustruformat(uselfucharsetuencodingumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_binary_uuencode_payload�s

	

	u+TestMessageAPI.test_binary_uuencode_payloadcCs7t�}|jdddd�|jd|d�dS(NuContent-Dispositionuinlineufoo_baruinline; foo-bar(uMessageu
add_headeruNoneuassertEqual(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu$test_add_header_with_name_only_param�s	u3TestMessageAPI.test_add_header_with_name_only_paramcCs1t�}|jdd�|jd|d�dS(NuX-Statusu(uMessageu
add_headeruNoneuassertEqual(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_add_header_with_no_value�s	u,TestMessageAPI.test_add_header_with_no_valuecCs3t�}td�|d<|jtj|j�dS(Nudummy
X-Injected-Header: testuDummy(uMessageuHeaderuassertRaisesuerrorsuHeaderParseErroru	as_string(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu'test_embeded_header_via_Header_rejected�s	u6TestMessageAPI.test_embeded_header_via_Header_rejectedcCs-t�}d|d<|jtj|j�dS(Nudummy
X-Injected-Header: testuDummy(uMessageuassertRaisesuerrorsuHeaderParseErroru	as_string(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu'test_embeded_header_via_string_rejected�s	
u6TestMessageAPI.test_embeded_header_via_string_rejectedcCs9td�}d|d<|jt|�tjd��dS(Nuabc
uÉ testuSubjectu�            Content-Type: text/plain; charset="us-ascii"
            MIME-Version: 1.0
            Content-Transfer-Encoding: 7bit
            Subject: =?utf-8?q?=C3=89_test?=

            abc
            (uMIMETextuassertEqualustrutextwrapudedent(uselfum((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu-test_unicode_header_defaults_to_utf8_encoding�s
u<TestMessageAPI.test_unicode_header_defaults_to_utf8_encodingcCs/td�}|jt|�tjd��dS(NuÉ testabc
u�            Content-Type: text/plain; charset="utf-8"
            MIME-Version: 1.0
            Content-Transfer-Encoding: base64

            w4kgdGVzdGFiYwo=
            (uMIMETextuassertEqualustrutextwrapudedent(uselfum((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu+test_unicode_body_defaults_to_utf8_encoding�su:TestMessageAPI.test_unicode_body_defaults_to_utf8_encodingN(Qu__name__u
__module__u__qualname__utest_get_allutest_getset_charsetutest_set_charset_from_stringutest_set_payload_with_charsetu+test_set_payload_with_8bit_data_and_charsetu>test_set_payload_with_non_ascii_and_charset_body_encoding_noneu>test_set_payload_with_8bit_data_and_charset_body_encoding_noneutest_set_payload_to_listutest_get_charsetsutest_get_filenameu%test_get_filename_with_name_parameterutest_get_boundaryutest_set_boundaryutest_make_boundaryutest_message_rfc822_onlyutest_byte_message_rfc822_onlyutest_get_decoded_payloadutest_get_decoded_uu_payloadu*test_get_payload_n_raises_on_non_multipartutest_decoded_generatorutest__contains__utest_as_stringutest_bad_paramutest_missing_filenameutest_bogus_filenameutest_missing_boundaryutest_get_paramsutest_get_param_liberalutest_get_paramu'test_get_param_funky_continuation_linesu#test_get_param_with_semis_in_quotesutest_get_param_with_quotesutest_field_containmentutest_set_paramutest_del_paramutest_del_param_on_other_headeru$test_del_param_on_nonexistent_headerutest_del_nonexistent_paramu
test_set_typeutest_set_type_on_other_headerutest_get_content_type_missingu/test_get_content_type_missing_with_default_typeu+test_get_content_type_from_message_implicitu+test_get_content_type_from_message_explicitu6test_get_content_type_from_message_text_plain_implicitu6test_get_content_type_from_message_text_plain_explicitu!test_get_content_maintype_missingu3test_get_content_maintype_missing_with_default_typeu/test_get_content_maintype_from_message_implicitu/test_get_content_maintype_from_message_explicitu:test_get_content_maintype_from_message_text_plain_implicitu:test_get_content_maintype_from_message_text_plain_explicitu test_get_content_subtype_missingu2test_get_content_subtype_missing_with_default_typeu.test_get_content_subtype_from_message_implicitu.test_get_content_subtype_from_message_explicitu9test_get_content_subtype_from_message_text_plain_implicitu9test_get_content_subtype_from_message_text_plain_explicitutest_get_content_maintype_errorutest_get_content_subtype_errorutest_replace_headerutest_broken_base64_payloadutest_broken_unicode_payloadutest_questionable_bytes_payloadutest_ascii_add_headerutest_noascii_add_headeru#test_nonascii_add_header_via_tripleu#test_ascii_add_header_with_tspecialu&test_nonascii_add_header_with_tspecialutest_binary_quopri_payloadutest_binary_base64_payloadutest_binary_uuencode_payloadu$test_add_header_with_name_only_paramutest_add_header_with_no_valueu'test_embeded_header_via_Header_rejectedu'test_embeded_header_via_string_rejectedu-test_unicode_header_defaults_to_utf8_encodingu+test_unicode_body_defaults_to_utf8_encoding(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestMessageAPI1s�			

uTestMessageAPIcBs\|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S(uTestEncodersc
Cs{tdd��}|j�}WdQXtjjj|�}|j�}|jd�}|jt	dd�|D��d�dS(NuPyBanner048.gifurbu
cSsg|]}t|��qS((ulen(u.0ux((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
<listcomp>�s	u;TestEncoders.test_EncodersEncode_base64.<locals>.<listcomp>iL(
uopenfileureaduemailumimeuimageu	MIMEImageuget_payloadusplituassertLessEqualumax(uselfufpubindataumimedubase64edulines((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_EncodersEncode_base64�su'TestEncoders.test_EncodersEncode_base64cCs4|j}t�}|jd�||dd�dS(Nuus-asciiucontent-transfer-encodingu7bit(uassertEqualuMessageuset_charset(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_empty_payload�s		
u&TestEncoders.test_encode_empty_payloadcCsj|j}td�}||dd�td�}||dd�tddd�}||dd�dS(	Nuhello worlducontent-transfer-encodingu7bituhello ø worldubase64u_charsetu
iso-8859-1uquoted-printable(uassertEqualuMIMEText(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_default_cte�s	uTestEncoders.test_default_ctecCs0|j}tddd�}||dd�dS(Nu文u_charsetueuc-jpucontent-transfer-encodingu7bit(uassertEqualuMIMEText(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode7or8bit�s	uTestEncoders.test_encode7or8bitcCs5tddd�}|jt|�tjd��dS(Nuáö
utextu
ISO-8859-1u�            MIME-Version: 1.0
            Content-Type: text/text; charset="iso-8859-1"
            Content-Transfer-Encoding: quoted-printable

            =E1=F6
            (uMIMETextuassertEqualustrutextwrapudedent(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_qp_encode_latin1�su"TestEncoders.test_qp_encode_latin1cCs5tddd�}|jt|�tjd��dS(Nuż
utextu
ISO-8859-2u�            MIME-Version: 1.0
            Content-Type: text/text; charset="iso-8859-2"
            Content-Transfer-Encoding: quoted-printable

            =BF
            (uMIMETextuassertEqualustrutextwrapudedent(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_qp_encode_non_latin1�su&TestEncoders.test_qp_encode_non_latin1N(	u__name__u
__module__u__qualname__utest_EncodersEncode_base64utest_encode_empty_payloadutest_default_cteutest_encode7or8bitutest_qp_encode_latin1utest_qp_encode_non_latin1(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestEncoders�s	
uTestEncoderscBs�|EeZdZdOZdd�Zdd�Zdd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Z d9d:�Z!d;d<�Z"d=d>�Z#d?d@�Z$dAdB�Z%dCdD�Z&dEdF�Z'dGdH�Z(dIdJ�Z)dKdL�Z*dMdN�Z+dOS(PuTestLongHeaderscCsQ|j}tjd�}t�}t|�}|j|�||j�d�dS(Nu�Subject: bug demonstration
	12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
	more text

test
(undiffAssertEqualuemailumessage_from_stringuStringIOu	Generatoruflattenugetvalue(uselfuequmsgusfpug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_split_long_continuations			
u,TestLongHeaders.test_split_long_continuationcCsc|j}d}t|dd�}||j�d�t|jdd��}||j�d�dS(Nu�bug demonstration
	12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
	more textucontinuation_wsu	u u�bug demonstration
 12345678911234567892123456789312345678941234567895123456789612345678971234567898112345678911234567892123456789112345678911234567892123456789
 more text(undiffAssertEqualuHeaderuencodeureplace(uselfuequhstruh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu,test_another_long_almost_unsplittable_headers	u<TestLongHeaders.test_another_long_almost_unsplittable_headercCs�|j}td�}td�}td�}d}d}d}t||dd�}|j||�|j||�t�}	||	d<t�}
t|
�}|j|	�||
j�d	�||j	d
d�d�dS(
Nu
iso-8859-1u
iso-8859-2uutf-8s�Die Mieter treten hier ein werden mit einem Foerderband komfortabel den Korridor entlang, an s�dl�ndischen Wandgem�lden vorbei, gegen die rotierenden Klingen bef�rdert. s;Finan�ni metropole se hroutily pod tlakem jejich d�vtipu.. u�正確に言うと翻訳はされていません。一部はドイツ語ですが、あとはでたらめです。実際には「Wenn ist das Nunstuck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput.」と言っています。uheader_nameuSubjectu!Subject: =?iso-8859-1?q?Die_Mieter_treten_hier_ein_werden_mit_einem_Foerderb?=
 =?iso-8859-1?q?and_komfortabel_den_Korridor_entlang=2C_an_s=FCdl=FCndischen?=
 =?iso-8859-1?q?_Wandgem=E4lden_vorbei=2C_gegen_die_rotierenden_Klingen_bef?=
 =?iso-8859-1?q?=F6rdert=2E_?= =?iso-8859-2?q?Finan=E8ni_metropole_se_hrouti?=
 =?iso-8859-2?q?ly_pod_tlakem_jejich_d=F9vtipu=2E=2E_?= =?utf-8?b?5q2j56K6?=
 =?utf-8?b?44Gr6KiA44GG44Go57+76Kiz44Gv44GV44KM44Gm44GE44G+44Gb44KT44CC5LiA?=
 =?utf-8?b?6YOo44Gv44OJ44Kk44OE6Kqe44Gn44GZ44GM44CB44GC44Go44Gv44Gn44Gf44KJ?=
 =?utf-8?b?44KB44Gn44GZ44CC5a6f6Zqb44Gr44Gv44CMV2VubiBpc3QgZGFzIE51bnN0dWNr?=
 =?utf-8?b?IGdpdCB1bmQgU2xvdGVybWV5ZXI/IEphISBCZWloZXJodW5kIGRhcyBPZGVyIGRp?=
 =?utf-8?b?ZSBGbGlwcGVyd2FsZHQgZ2Vyc3B1dC7jgI3jgajoqIDjgaPjgabjgYTjgb7jgZk=?=
 =?utf-8?b?44CC?=

u
maxlineleniLu	=?iso-8859-1?q?Die_Mieter_treten_hier_ein_werden_mit_einem_Foerde?=
 =?iso-8859-1?q?rband_komfortabel_den_Korridor_entlang=2C_an_s=FCdl=FCndis?=
 =?iso-8859-1?q?chen_Wandgem=E4lden_vorbei=2C_gegen_die_rotierenden_Klinge?=
 =?iso-8859-1?q?n_bef=F6rdert=2E_?= =?iso-8859-2?q?Finan=E8ni_metropole_se?=
 =?iso-8859-2?q?_hroutily_pod_tlakem_jejich_d=F9vtipu=2E=2E_?=
 =?utf-8?b?5q2j56K644Gr6KiA44GG44Go57+76Kiz44Gv44GV44KM44Gm44GE44G+44Gb?=
 =?utf-8?b?44KT44CC5LiA6YOo44Gv44OJ44Kk44OE6Kqe44Gn44GZ44GM44CB44GC44Go?=
 =?utf-8?b?44Gv44Gn44Gf44KJ44KB44Gn44GZ44CC5a6f6Zqb44Gr44Gv44CMV2VubiBp?=
 =?utf-8?b?c3QgZGFzIE51bnN0dWNrIGdpdCB1bmQgU2xvdGVybWV5ZXI/IEphISBCZWlo?=
 =?utf-8?b?ZXJodW5kIGRhcyBPZGVyIGRpZSBGbGlwcGVyd2FsZHQgZ2Vyc3B1dC7jgI0=?=
 =?utf-8?b?44Go6KiA44Gj44Gm44GE44G+44GZ44CC?=(
undiffAssertEqualuCharsetuHeaderuappenduMessageuStringIOu	Generatoruflattenugetvalueuencode(uselfuequguczuutf8ug_headucz_headu	utf8_headuhumsgusfp((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_long_nonstring,s&		
	

u#TestLongHeaders.test_long_nonstringcCs2|j}tddd�}||j�d�dS(Nuiwasnipoop; giraffes="very-long-necked-animals"; spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"uheader_nameuX-Foobar-Spoink-Defrobnitujwasnipoop; giraffes="very-long-necked-animals";
 spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"(undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_long_header_encodebs
			u'TestLongHeaders.test_long_header_encodecCs8|j}tddddd�}||j�d�dS(Nuiwasnipoop; giraffes="very-long-necked-animals"; spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"uheader_nameuX-Foobar-Spoink-Defrobnitucontinuation_wsu	ujwasnipoop; giraffes="very-long-necked-animals";
 spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"(undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu<test_long_header_encode_with_tab_continuation_is_just_a_hintks			uLTestLongHeaders.test_long_header_encode_with_tab_continuation_is_just_a_hintcCs8|j}tddddd�}||j�d�dS(Nuiwasnipoop; giraffes="very-long-necked-animals";	spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"uheader_nameuX-Foobar-Spoink-Defrobnitucontinuation_wsu	ujwasnipoop; giraffes="very-long-necked-animals";
	spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"(undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu-test_long_header_encode_with_tab_continuationus			u=TestLongHeaders.test_long_header_encode_with_tab_continuationcCs)tdd�}|j|j�d�dS(Nu文ueuc-jpu=?iso-2022-jp?b?GyRCSjgbKEI=?=(uHeaderuassertEqualuencode(uselfuh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu0test_header_encode_with_different_output_charsetsu@TestLongHeaders.test_header_encode_with_different_output_charsetcCs8tdjd�d�}d}|j|j�|�dS(Ns6test-ja ����Ƥ��줿�᡼��ϻʲ�Ԥξ�ǧ���ԤäƤ��ޤ�ueuc-jpu�=?iso-2022-jp?b?dGVzdC1qYSAbJEIkWEVqOUYkNSRsJD8lYSE8JWskTztKMnE8VCROPjUbKEI=?=
 =?iso-2022-jp?b?GyRCRyckckJUJEMkRiQkJF4kORsoQg==?=(uHeaderudecodeuassertEqualuencode(uselfuhures((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu5test_long_header_encode_with_different_output_charset�s	uETestLongHeaders.test_long_header_encode_with_different_output_charsetcCsX|j}td�}d|d<t�}t|�}|j|�||j�d�dS(Nuuiwasnipoop; giraffes="very-long-necked-animals"; spooge="yummy"; hippos="gargantuan"; marshmallows="gooey"uX-Foobar-Spoink-Defrobnitu�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"

(undiffAssertEqualuMIMETextuStringIOu	Generatoruflattenugetvalue(uselfuequmsgusfpug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_splitter�s	
	
u$TestLongHeaders.test_header_splittercCs�|j}t�}d|d<tjdd�td�D��|d<|jd�t�}t|�}|j|�||j	�d�dS(	Nutest@dom.ainuFromcss|]}d|VqdS(u<%d@dom.ain>N((u.0ui((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu	<genexpr>�su@TestLongHeaders.test_no_semis_header_splitter.<locals>.<genexpr>i
u
ReferencesuTestu�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(
undiffAssertEqualuMessageuSPACEujoinurangeuset_payloaduStringIOu	Generatoruflattenugetvalue(uselfuequmsgusfpug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_no_semis_header_splitter�s		
&
	
u-TestLongHeaders.test_no_semis_header_splittercCs,|j}td�}||j�d�dS(Nu�Subject: the first part of this is short, but_the_second_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itselfu�Subject: the first part of this is short,
 but_the_second_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itself(undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu"test_last_split_chunk_does_not_fit�s	u2TestLongHeaders.test_last_split_chunk_does_not_fitcCs,|j}td�}||j�d�dS(Nu_, but_the_second_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itselfu`,
 but_the_second_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itself(undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu=test_splittable_leading_char_followed_by_overlong_unsplitable�s	uMTestLongHeaders.test_splittable_leading_char_followed_by_overlong_unsplitablecCs,|j}td�}||j�d�dS(Nua, , but_the_second_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itselfub, ,
 but_the_second_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itself(undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuFtest_multiple_splittable_leading_char_followed_by_overlong_unsplitable�s	uVTestLongHeaders.test_multiple_splittable_leading_char_followed_by_overlong_unsplitablecCs,|j}td�}||j�d�dS(NuTthis_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itself;(undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu/test_trailing_splitable_on_overlong_unsplitable�s	u?TestLongHeaders.test_trailing_splitable_on_overlong_unsplitablecCs,|j}td�}||j�d�dS(NuW; this_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itself; uX;
 this_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itself; (undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuFtest_trailing_splitable_on_overlong_unsplitable_with_leading_splitable�s	uVTestLongHeaders.test_trailing_splitable_on_overlong_unsplitable_with_leading_splitablecCs,|j}td�}||j�d�dS(NupThis is a long line that has two whitespaces  in a row.  This used to cause truncation of the header when foldeduqThis is a long line that has two whitespaces  in a row.  This used to cause
 truncation of the header when folded(undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu5test_long_header_with_multiple_sequential_split_chars�s	uETestLongHeaders.test_long_header_with_multiple_sequential_split_charscCs,|j}td�}||j�d�dS(NuKthisverylongheaderhas;semicolons;and,commas,butthey;arenotlegal;fold,points(undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu:test_splitter_split_on_punctuation_only_if_fws_with_header�s	uJTestLongHeaders.test_splitter_split_on_punctuation_only_if_fws_with_headercCs,|j}td�}||j�d�dS(Nu�this is a  test where we need to have more than one line before; our final line that is just too big to fit;; this_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itself;u�this is a  test where we need to have more than one line before;
 our final line that is just too big to fit;;
 this_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itself;(undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuDtest_leading_splittable_in_the_middle_just_before_overlong_last_part�s	uTTestLongHeaders.test_leading_splittable_in_the_middle_just_before_overlong_last_partcCs,|j}td�}||j�d�dS(NuTthis_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itself (undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu/test_overlong_last_part_followed_by_split_point�s	u?TestLongHeaders.test_overlong_last_part_followed_by_split_pointcCs,|j}td�}||j�d�dS(Nu�this_is_a__test_where_we_need_to_have_more_than_one_line_before_our_final_line_; ; this_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itself; u�this_is_a__test_where_we_need_to_have_more_than_one_line_before_our_final_line_;
 ;
 this_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itself; (undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu@test_multiline_with_overlong_parts_separated_by_two_split_points�s	uPTestLongHeaders.test_multiline_with_overlong_parts_separated_by_two_split_pointscCs,|j}td�}||j�d�dS(Nu�this is a test where we need to have more than one line before our final line; ; this_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itself; u�this is a test where we need to have more than one line before our final line;
 ;
 this_part_does_not_fit_within_maxlinelen_and_thus_should_be_on_a_line_all_by_itself; (undiffAssertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu>test_multiline_with_overlong_last_part_followed_by_split_points	uNTestLongHeaders.test_multiline_with_overlong_last_part_followed_by_split_pointcCs||j}t�}d|d<tjdgd�|d<|jd�t�}t|�}|j|�||j�d�dS(Nutest@dom.ainuFromu<foo@dom.ain>  i
u
ReferencesuTestu�From: test@dom.ain
References: <foo@dom.ain>   <foo@dom.ain>   <foo@dom.ain>   <foo@dom.ain>
   <foo@dom.ain>   <foo@dom.ain>   <foo@dom.ain>   <foo@dom.ain>
   <foo@dom.ain>   <foo@dom.ain>  

Test(	undiffAssertEqualuMessageuSPACEujoinuset_payloaduStringIOu	Generatoruflattenugetvalue(uselfuequmsgusfpug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu%test_long_header_with_whitespace_runss		

	
u5TestLongHeaders.test_long_header_with_whitespace_runscCs�|j}t�}d|d<tjdgd�d|d<|jd�t�}t|�}|j|�||j�d�dS(	Nutest@dom.ainuFromu
<foo@dom.ain>i
u; abcu
ReferencesuTestu�From: test@dom.ain
References: <foo@dom.ain> <foo@dom.ain> <foo@dom.ain> <foo@dom.ain>
 <foo@dom.ain> <foo@dom.ain> <foo@dom.ain> <foo@dom.ain> <foo@dom.ain>
 <foo@dom.ain>; abc

Test(	undiffAssertEqualuMessageuSPACEujoinuset_payloaduStringIOu	Generatoruflattenugetvalue(uselfuequmsgusfpug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu'test_long_run_with_semi_header_splitter$s		

	
u7TestLongHeaders.test_long_run_with_semi_header_splittercCsl|j}t�}d|d<d|d<|jd�t�}t|�}|j|�||j�d�dS(Nutest@dom.ainuFromuKthisverylongheaderhas;semicolons;and,commas,butthey;arenotlegal;fold,pointsu
ReferencesuTesturFrom: test@dom.ain
References: 
 thisverylongheaderhas;semicolons;and,commas,butthey;arenotlegal;fold,points

Test(undiffAssertEqualuMessageuset_payloaduStringIOu	Generatoruflattenugetvalue(uselfuequmsgusfpug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu.test_splitter_split_on_punctuation_only_if_fws5s		


	
u>TestLongHeaders.test_splitter_split_on_punctuation_only_if_fwscCs]|j}ddd}t|�}||j�d�tdd�}||j�d�dS(NuReferences: uxiPu]References:
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxuPxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(undiffAssertEqualuHeaderuencode(uselfuequhstruh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_no_split_long_headerGs	u)TestLongHeaders.test_no_split_long_headercCs8|j}d}t|dd�}||j�d�dS(NuWfrom 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)
ucontinuation_wsu	u_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)(undiffAssertEqualuHeaderuencode(uselfuequhstruh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu"test_splitting_multiple_long_linesSs
	u2TestLongHeaders.test_splitting_multiple_long_linescCsD|j}d}t|dddddd�}||j�d�dS(	Nu�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 -0400u
maxlineleniNuheader_nameuReceiveducontinuation_wsu	u�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(undiffAssertEqualuHeaderuencode(uselfuequhstruh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu&test_splitting_first_line_only_is_longis		u6TestLongHeaders.test_splitting_first_line_only_is_longcCs�|j}t�}tdddd�}|jd�||jdd�d�||d<||jd	d�d
�||jd	d�d�dS(
NuBritische Regierung gibtu
iso-8859-1uheader_nameuSubjectu-grünes Licht für Offshore-Windkraftprojekteu
maxlineleniLul=?iso-8859-1?q?Britische_Regierung_gibt_gr=FCnes_Licht_f=FCr_Offs?=
 =?iso-8859-1?q?hore-Windkraftprojekte?=umaxheaderlenuwSubject: =?iso-8859-1?q?Britische_Regierung_gibt_gr=FCnes_Licht_f=FCr_Offs?=
 =?iso-8859-1?q?hore-Windkraftprojekte?=

iudSubject: =?iso-8859-1?q?Britische_Regierung_gibt_gr=FCnes_Licht_f=FCr_Offshore-Windkraftprojekte?=

(undiffAssertEqualuMessageuHeaderuappenduencodeu	as_string(uselfuequmsguh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_long_8bit_headerys			

u%TestLongHeaders.test_long_8bit_headercCsw|j}t�}d}||d<||jdd�d�t�}t|dd�|d<||jdd�d�dS(NuhBritische Regierung gibt grünes Licht für Offshore-Windkraftprojekte <a-very-long-address@example.com>uReply-ToumaxheaderleniNu�Reply-To: =?utf-8?q?Britische_Regierung_gibt_gr=C3=BCnes_Licht_f=C3=BCr_Offs?=
 =?utf-8?q?hore-Windkraftprojekte_=3Ca-very-long-address=40example=2Ecom=3E?=

uheader_name(undiffAssertEqualuMessageu	as_stringuHeader(uselfuequmsgu
header_string((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu test_long_8bit_header_no_charset�s		
		
u0TestLongHeaders.test_long_8bit_header_no_charsetcCs?|j}d}t�}||d<||jdd�d�dS(Nu�"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>uToumaxheaderleniNu�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>

(undiffAssertEqualuMessageu	as_string(uselfuequtoumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_long_to_header�s		
u#TestLongHeaders.test_long_to_headercCsE|j}d}t|�}|jd�||jdd�d�dS(NuIThis is an example of string which has almost the limit of header length.uAdd another line.u
maxlineleniLu\This is an example of string which has almost the limit of header length.
 Add another line.(undiffAssertEqualuHeaderuappenduencode(uselfuequsuh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_long_line_after_append�s	
u+TestLongHeaders.test_long_line_after_appendcCs?|j}d}t|�}|jd�||j�d�dS(NuThis is a shorter line.u!Add another sentence. (Surprise?)u9This is a shorter line. Add another sentence. (Surprise?)(undiffAssertEqualuHeaderuappenduencode(uselfuequsuh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_shorter_line_with_append�s	
u-TestLongHeaders.test_shorter_line_with_appendcCsG|j}d}d}t|dd|�}||jdd�d�dS(Nu!X-Very-Very-Very-Long-Header-Nameu�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. u
iso-8859-1uheader_nameu
maxlineleniLu=?iso-8859-1?q?Die_Mieter_treten_hier_e?=
 =?iso-8859-1?q?in_werden_mit_einem_Foerderband_komfortabel_den_Korridor_e?=
 =?iso-8859-1?q?ntlang=2C_an_s=FCdl=FCndischen_Wandgem=E4lden_vorbei=2C_ge?=
 =?iso-8859-1?q?gen_die_rotierenden_Klingen_bef=F6rdert=2E_?=(undiffAssertEqualuHeaderuencode(uselfuequfnugsuh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_long_field_name�s	u$TestLongHeaders.test_long_field_namecCsOd}t�}t|dd�|d<||d<|j|jdd�d�dS(	Nu�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 -0700ucontinuation_wsu	u
Received-1u
Received-2umaxheaderleniNu1Received-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

(uMessageuHeaderundiffAssertEqualu	as_string(uselfuhumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_long_received_header�s	
u)TestLongHeaders.test_long_received_headercCsUd}t�}t|dddd�|d<||d<|j|jdd�d	�dS(
Nu�<15975.17901.207240.414604@sgigritzmann1.mathematik.tu-muenchen.de> (David Bremner's message of "Thu, 6 Mar 2003 13:58:21 +0100")uheader_nameu
Received-1ucontinuation_wsu	u
Received-2umaxheaderleniNu#Received-1: 
 <15975.17901.207240.414604@sgigritzmann1.mathematik.tu-muenchen.de> (David
 Bremner's message of "Thu, 6 Mar 2003 13:58:21 +0100")
Received-2: 
 <15975.17901.207240.414604@sgigritzmann1.mathematik.tu-muenchen.de> (David
 Bremner's message of "Thu, 6 Mar 2003 13:58:21 +0100")

(uMessageuHeaderundiffAssertEqualu	as_string(uselfuhumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_string_headerinst_eq�s	

u)TestLongHeaders.test_string_headerinst_eqcCsc|j}t�}d}||d<t|dd�|d<d||d<||jdd�d	�dS(
Nu�iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEUAAAAkHiJeRUIcGBi9
 locQDQ4zJykFBAXJfWDjAAACYUlEQVR4nF2TQY/jIAyFc6lydlG5x8Nyp1Y69wj1PN2I5gzpuFace-1uheader_nameuFace-2u uFace-3umaxheaderleniNu�Face-1: 
 iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEUAAAAkHiJeRUIcGBi9
 locQDQ4zJykFBAXJfWDjAAACYUlEQVR4nF2TQY/jIAyFc6lydlG5x8Nyp1Y69wj1PN2I5gzp
Face-2: 
 iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEUAAAAkHiJeRUIcGBi9
 locQDQ4zJykFBAXJfWDjAAACYUlEQVR4nF2TQY/jIAyFc6lydlG5x8Nyp1Y69wj1PN2I5gzp
Face-3: 
 iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEUAAAAkHiJeRUIcGBi9
 locQDQ4zJykFBAXJfWDjAAACYUlEQVR4nF2TQY/jIAyFc6lydlG5x8Nyp1Y69wj1PN2I5gzp

(undiffAssertEqualuMessageuHeaderu	as_string(uselfuequmsgut((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu-test_long_unbreakable_lines_with_continuation�s		
u=TestLongHeaders.test_long_unbreakable_lines_with_continuationcCs;|j}d}tj|�}||jdd�d�dS(Nu�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 -0700umaxheaderleniNu�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

(undiffAssertEqualuemailumessage_from_stringu	as_string(uselfuequmumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu"test_another_long_multiline_headers
	u2TestLongHeaders.test_another_long_multiline_headercCsU|j}d}t�}||d<t|dd�|d<||jdd�d�dS(Nu�List-Unsubscribe: <http://lists.sourceforge.net/lists/listinfo/spamassassin-talk>,        <mailto:spamassassin-talk-request@lists.sourceforge.net?subject=unsubscribe>uListuheader_nameumaxheaderleniNu_List: List-Unsubscribe:
 <http://lists.sourceforge.net/lists/listinfo/spamassassin-talk>,
        <mailto:spamassassin-talk-request@lists.sourceforge.net?subject=unsubscribe>
List: List-Unsubscribe:
 <http://lists.sourceforge.net/lists/listinfo/spamassassin-talk>,
        <mailto:spamassassin-talk-request@lists.sourceforge.net?subject=unsubscribe>

(undiffAssertEqualuMessageuHeaderu	as_string(uselfuequhumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu%test_long_lines_with_different_headers		
u5TestLongHeaders.test_long_lines_with_different_headercCsLttjd�dddd�}|j|j�dtjd�d�dS(Nu�            We're going to pretend this header is in a non-ascii character set
            	to see if line wrapping with encoded words and embedded
               folding white space worksucharsetuutf-8uheader_nameuTestu
u�            =?utf-8?q?We=27re_going_to_pretend_this_header_is_in_a_non-ascii_chara?=
             =?utf-8?q?cter_set?=
             =?utf-8?q?_to_see_if_line_wrapping_with_encoded_words_and_embedded?=
             =?utf-8?q?_folding_white_space_works?=(uHeaderutextwrapudedentuassertEqualuencode(uselfuh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu*test_long_rfc2047_header_with_embedded_fws0s			u:TestLongHeaders.test_long_rfc2047_header_with_embedded_fwsN(,u__name__u
__module__u__qualname__uNoneumaxDiffutest_split_long_continuationu,test_another_long_almost_unsplittable_headerutest_long_nonstringutest_long_header_encodeu<test_long_header_encode_with_tab_continuation_is_just_a_hintu-test_long_header_encode_with_tab_continuationu0test_header_encode_with_different_output_charsetu5test_long_header_encode_with_different_output_charsetutest_header_splitterutest_no_semis_header_splitteru"test_last_split_chunk_does_not_fitu=test_splittable_leading_char_followed_by_overlong_unsplitableuFtest_multiple_splittable_leading_char_followed_by_overlong_unsplitableu/test_trailing_splitable_on_overlong_unsplitableuFtest_trailing_splitable_on_overlong_unsplitable_with_leading_splitableu5test_long_header_with_multiple_sequential_split_charsu:test_splitter_split_on_punctuation_only_if_fws_with_headeruDtest_leading_splittable_in_the_middle_just_before_overlong_last_partu/test_overlong_last_part_followed_by_split_pointu@test_multiline_with_overlong_parts_separated_by_two_split_pointsu>test_multiline_with_overlong_last_part_followed_by_split_pointu%test_long_header_with_whitespace_runsu'test_long_run_with_semi_header_splitteru.test_splitter_split_on_punctuation_only_if_fwsutest_no_split_long_headeru"test_splitting_multiple_long_linesu&test_splitting_first_line_only_is_longutest_long_8bit_headeru test_long_8bit_header_no_charsetutest_long_to_headerutest_long_line_after_appendutest_shorter_line_with_appendutest_long_field_nameutest_long_received_headerutest_string_headerinst_equ-test_long_unbreakable_lines_with_continuationu"test_another_long_multiline_headeru%test_long_lines_with_different_headeru*test_long_rfc2047_header_with_embedded_fws(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestLongHeaderssP6	


					
uTestLongHeaderscBsP|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS(uTestFromManglingcCs-t�|_d|jd<|jjd�dS(Nuaaa@bbb.orguFromu(From the desk of A.A.A.:
Blah blah blah
(uMessageumsguset_payload(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyusetUpAs
	uTestFromMangling.setUpcCsEt�}t|dd�}|j|j�|j|j�d�dS(Numangle_from_u<From: aaa@bbb.org

>From the desk of A.A.A.:
Blah blah blah
T(uStringIOu	GeneratoruTrueuflattenumsguassertEqualugetvalue(uselfusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_mangled_fromIs
	u"TestFromMangling.test_mangled_fromcCsEt�}t|dd�}|j|j�|j|j�d�dS(Numangle_from_u;From: aaa@bbb.org

From the desk of A.A.A.:
Blah blah blah
F(uStringIOu	GeneratoruFalseuflattenumsguassertEqualugetvalue(uselfusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_dont_mangle_fromTs
	u&TestFromMangling.test_dont_mangle_fromcCsvt�}t|dd�}tjtjd��}|j|�|jt	dd�|j
�jd�D��d�dS(Numangle_from_u)            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
            cSs%g|]}|jd�rd�qS(u>From i(u
startswith(u.0ux((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
<listcomp>ss	uLTestFromMangling.test_mangle_from_in_preamble_and_epilog.<locals>.<listcomp>u
iT(uStringIOu	GeneratoruTrueuemailumessage_from_stringutextwrapudedentuflattenuassertEqualulenugetvalueusplit(uselfusugumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu'test_mangle_from_in_preamble_and_epilog_s	
+u8TestFromMangling.test_mangle_from_in_preamble_and_epilogcCsqtjd�jd�}tj|d�}t�}t|dd�}|j|�|j	|j
�|d�dS(Nu�            Content-Type: text/plain; charset="utf-8"
            MIME-Version: 1.0
            Content-Transfer-Encoding: 8bit
            From: aaa@bbb.org

        uutf-8sFrom Rölli
umangle_from_s
>From Rölli
T(utextwrapudedentuencodeuemailumessage_from_bytesuBytesIOuBytesGeneratoruTrueuflattenuassertEqualugetvalue(uselfusourceumsgubug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu test_mangled_from_with_bad_bytesvs	
u1TestFromMangling.test_mangled_from_with_bad_bytesN(u__name__u
__module__u__qualname__usetUputest_mangled_fromutest_dont_mangle_fromu'test_mangle_from_in_preamble_and_epilogu test_mangled_from_with_bad_bytes(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestFromMangling@s
uTestFromManglingcBsP|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS(u
TestMIMEAudioc	Cs=tdd��}|j�|_WdQXt|j�|_dS(Nuaudiotest.auurb(uopenfileureadu
_audiodatau	MIMEAudiou_au(uselfufp((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyusetUp�suTestMIMEAudio.setUpcCs|j|jj�d�dS(Nuaudio/basic(uassertEqualu_auuget_content_type(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_guess_minor_type�su#TestMIMEAudio.test_guess_minor_typecCs8|jj�}|jtjt|d��|j�dS(Nuascii(u_auuget_payloaduassertEqualubase64udecodebytesubytesu
_audiodata(uselfupayload((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
test_encoding�suTestMIMEAudio.test_encodingcCs,t|jd�}|j|j�d�dS(Nufishu
audio/fish(u	MIMEAudiou
_audiodatauassertEqualuget_content_type(uselfuau((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_checkSetMinor�su TestMIMEAudio.test_checkSetMinorcCs|j}|jjdddd�||jdd�||jjdd�dd
g�||jjddd�d�g}||jjddd�d�|j|jjd	d
|dd�|�|j|jjd|�|�|j|jjd|dd�|�dS(NuContent-Dispositionu
attachmentufilenameuaudiotest.auucontent-dispositionu#attachment; filename="audiotest.au"uheaderuufooufailobjufoobar(u
attachmentu(ufilenameuaudiotest.au(uassertEqualu_auu
add_headeru
get_paramsu	get_paramuassertIs(uselfuequmissing((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_add_header�s 	


uTestMIMEAudio.test_add_headerN(u__name__u
__module__u__qualname__usetUputest_guess_minor_typeu
test_encodingutest_checkSetMinorutest_add_header(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
TestMIMEAudio�s
u
TestMIMEAudiocBsP|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS(u
TestMIMEImagec	Cs=tdd��}|j�|_WdQXt|j�|_dS(NuPyBanner048.gifurb(uopenfileureadu_imgdatau	MIMEImageu_im(uselfufp((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyusetUp�suTestMIMEImage.setUpcCs|j|jj�d�dS(Nu	image/gif(uassertEqualu_imuget_content_type(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_guess_minor_type�su#TestMIMEImage.test_guess_minor_typecCs8|jj�}|jtjt|d��|j�dS(Nuascii(u_imuget_payloaduassertEqualubase64udecodebytesubytesu_imgdata(uselfupayload((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
test_encoding�suTestMIMEImage.test_encodingcCs,t|jd�}|j|j�d�dS(Nufishu
image/fish(u	MIMEImageu_imgdatauassertEqualuget_content_type(uselfuim((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_checkSetMinor�su TestMIMEImage.test_checkSetMinorcCs|j}|jjdddd�||jdd�||jjdd�dd
g�||jjddd�d�g}||jjddd�d�|j|jjd	d
|dd�|�|j|jjd|�|�|j|jjd|dd�|�dS(NuContent-Dispositionu
attachmentufilenameudingusfish.gifucontent-dispositionu%attachment; filename="dingusfish.gif"uheaderuufooufailobjufoobar(u
attachmentu(ufilenameudingusfish.gif(uassertEqualu_imu
add_headeru
get_paramsu	get_paramuassertIs(uselfuequmissing((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_add_header�s 	


uTestMIMEImage.test_add_headerN(u__name__u
__module__u__qualname__usetUputest_guess_minor_typeu
test_encodingutest_checkSetMinorutest_add_header(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
TestMIMEImage�s
u
TestMIMEImagecBs\|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S(uTestMIMEApplicationcCs=|j}td�}||j�d�||dd�dS(Ns������uapplication/octet-streamucontent-transfer-encodingubase64(uassertEqualuMIMEApplicationuget_content_type(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_headers�s	u TestMIMEApplication.test_headerscCsQ|j}d}t|�}||j�j�d�||jdd�|�dS(Ns������u+vv8/f7/udecodeT(uassertEqualuMIMEApplicationuget_payloadustripuTrue(uselfuequ	bytesdataumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu	test_body�s
	uTestMIMEApplication.test_bodycCs�d}t|dtj�}|j|j�dt|��|j|jdd�|�|j|dd�t�}t|�}|j	|�|j
�}tj|�}|j|j�dt|��|j|jdd�|�|j|dd�dS(Ns������u_encoderu�udecodeuContent-Transfer-Encodingu8bitT(
uMIMEApplicationuencodersuencode_7or8bituassertEqualuget_payloadulenuTrueuBytesIOuBytesGeneratoruflattenugetvalueuemailumessage_from_bytes(uselfu	bytesdataumsgusuguwireformumsg2((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu$test_binary_body_with_encode_7or8bit�s 	
 u8TestMIMEApplication.test_binary_body_with_encode_7or8bitcCs�d}t|dtj�}|j|j�dt|��|j|jdd�|�t�}t|�}|j	|�|j
�}tj|�}|j|j�dt|��|j|jdd�|�dS(Ns������u_encoderu�udecodeT(
uMIMEApplicationuencodersuencode_noopuassertEqualuget_payloadulenuTrueuBytesIOuBytesGeneratoruflattenugetvalueuemailumessage_from_bytes(uselfu	bytesdataumsgusuguwireformumsg2((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_binary_body_with_encode_noop�s 	
 u5TestMIMEApplication.test_binary_body_with_encode_noopcCs�d}t|dtj�}|j|j�d�|j|jdd�|�|j|dd�t�}t|�}|j|�|j	�}t
j|�}|j|j�d�|j|jdd�|�|j|dd�dS(Ns������ u_encoderu=FA=FB=FC=FD=FE=FF=20udecodeuContent-Transfer-Encodinguquoted-printableT(uMIMEApplicationuencodersu
encode_quopriuassertEqualuget_payloaduTrueuBytesIOuBytesGeneratoruflattenugetvalueuemailumessage_from_bytes(uselfu	bytesdataumsgusuguwireformumsg2((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu#test_binary_body_with_encode_quopris	
u7TestMIMEApplication.test_binary_body_with_encode_quopricCs�d}t|dtj�}|j|j�d�|j|jdd�|�t�}t|�}|j|�|j	�}t
j|�}|j|j�d�|j|jdd�|�dS(Ns������u_encoderu	+vv8/f7/
udecodeT(uMIMEApplicationuencodersu
encode_base64uassertEqualuget_payloaduTrueuBytesIOuBytesGeneratoruflattenugetvalueuemailumessage_from_bytes(uselfu	bytesdataumsgusuguwireformumsg2((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu#test_binary_body_with_encode_base64s	
u7TestMIMEApplication.test_binary_body_with_encode_base64N(	u__name__u
__module__u__qualname__utest_headersu	test_bodyu$test_binary_body_with_encode_7or8bitu!test_binary_body_with_encode_noopu#test_binary_body_with_encode_quopriu#test_binary_body_with_encode_base64(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestMIMEApplication�suTestMIMEApplicationcBs�|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
jd�dd��ZdS(uTestMIMETextcCstd�|_dS(Nuhello there(uMIMETextu_msg(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyusetUp'suTestMIMEText.setUpcCs�|j}||jj�d�||jjd�d�g}|j|jjd|�|�|j|jjd|dd�|�dS(Nu
text/plainucharsetuus-asciiufoobaruheader(uassertEqualu_msguget_content_typeu	get_paramuassertIs(uselfuequmissing((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
test_types*s	uTestMIMEText.test_typescCs3|j|jj�d�|j|jj��dS(Nuhello there(uassertEqualu_msguget_payloaduassertFalseuis_multipart(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_payload3suTestMIMEText.test_payloadcCsF|j}tddd�}||j�jd�||dd�dS(Nuhello thereu_charsetuus-asciiucontent-typeutext/plain; charset="us-ascii"(uassertEqualuMIMETextuget_charsetu
input_charset(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_charset7s	uTestMIMEText.test_charsetcCsF|j}tddd�}||j�jd�||dd�dS(Nuhello thereu_charsetuus-asciiucontent-typeutext/plain; charset="us-ascii"(uassertEqualuMIMETextuget_charsetu
input_charset(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_7bit_input=s	uTestMIMEText.test_7bit_inputcCsS|j}td�}||j�d�||dd�|jd|j��dS(Nuhello thereuus-asciiucontent-typeutext/plain; charset="us-ascii"(uassertEqualuMIMETextuget_charsetuassertInu	as_string(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_7bit_input_no_charsetCs
	u'TestMIMEText.test_7bit_input_no_charsetcCsnd}|j}t|dd�}||j�jd�||dd�||jdd�|jd��dS(Nuкирилицаu_charsetuutf-8ucontent-typeutext/plain; charset="utf-8"udecodeT(uassertEqualuMIMETextuget_charsetuoutput_charsetuget_payloaduTrueuencode(uselfuteststruequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_utf8_inputJs	uTestMIMEText.test_utf8_inputuBcan't fix because of backward compat in email5, will fix in email6cCsd}|jtt|�dS(Nuкирилица(uassertRaisesuUnicodeEncodeErroruMIMEText(uselfuteststr((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_utf8_input_no_charsetRsu'TestMIMEText.test_utf8_input_no_charsetN(
u__name__u
__module__u__qualname__usetUpu
test_typesutest_payloadutest_charsetutest_7bit_inpututest_7bit_input_no_charsetutest_utf8_inputuunittestuskiputest_utf8_input_no_charset(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestMIMEText&s	uTestMIMETextcBs�|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%S(&u
TestMultipartcCsPtdd��}|j�}WdQXtdddd�}t|dd�}|jd	d
dd�td�}|j|�|j|�d
|d<d|d<d|d<d}tj|�}|ddkr�tj	}n	tj
}|dkr�d}	nd}	d|	|df}
tjdtj|��|
|d<||_||_
||_dS(NuPyBanner048.gifurbu	multipartumixeduboundaryuBOUNDARYunameudingusfish.gifucontent-dispositionu
attachmentufilenameu$Hi there,

This is the dingus fish.
uBarry <barry@digicool.com>uFromu)Dingus Lovers <cravindogs@cravindogs.com>uTouHere is your dingus fishuSubjectg�4F�cp�Aiiu-u+u %s%04di$u%a, %d %b %Y %H:%M:%SuDatei����(uopenfileureaduMIMEBaseu	MIMEImageu
add_headeruMIMETextuattachutimeu	localtimeutimezoneualtzoneustrftimeu_msgu_imu_txt(uselfufpudatau	containeruimageuintrounowu	timetupleutzsecsusignutzoffset((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyusetUp\s8	




				uTestMultipart.setUpcCs�|j}|j}|j}|j|j��||j�d�|t|j��d�|t|jd�|jd�}|jd�}|j	||j
�|j	||j�||j�||g�|j|j��|j|j��dS(Numultipart/mixediii(
uassertEqualuassertRaisesu_msgu
assertTrueuis_multipartuget_content_typeulenuget_payloadu
IndexErroruassertIsu_txtu_imuassertFalse(uselfuequraisesumum0um1((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_hierarchy�s			uTestMultipart.test_hierarchycCs2d}t�j|�}|j||j��dS(Nu�Content-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain


--BOUNDARY


--BOUNDARY--
(uParseruparsestrundiffAssertEqualu	as_string(uselfutextumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_empty_multipart_idempotent�s
u-TestMultipart.test_empty_multipart_idempotentcCsTtdd�}d|d<d|d<d|d<|jd	�|j|j�d
�dS(Nu	multipartumixedu	A subjectuSubjectuaperson@dom.ainuToubperson@dom.ainuFromuBOUNDARYu�Content-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain

--BOUNDARY

--BOUNDARY--
(uMIMEBaseuset_boundaryundiffAssertEqualu	as_string(uselfuouter((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu/test_no_parts_in_a_multipart_with_none_epilogue�s




u=TestMultipart.test_no_parts_in_a_multipart_with_none_epiloguecCsftdd�}d|d<d|d<d|d<d	|_d	|_|jd
�|j|j�d�dS(Nu	multipartumixedu	A subjectuSubjectuaperson@dom.ainuToubperson@dom.ainuFromuuBOUNDARYu�Content-Type: multipart/mixed; boundary="BOUNDARY"
MIME-Version: 1.0
Subject: A subject
To: aperson@dom.ain
From: bperson@dom.ain


--BOUNDARY

--BOUNDARY--
(uMIMEBaseupreambleuepilogueuset_boundaryundiffAssertEqualu	as_string(uselfuouter((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu0test_no_parts_in_a_multipart_with_empty_epilogue�s


		
u>TestMultipart.test_no_parts_in_a_multipart_with_empty_epiloguecCss|j}tdd�}d|d<d|d<d|d<|jd	�td
�}|j|�||j�d�dS(Nu	multipartumixedu	A subjectuSubjectuaperson@dom.ainuToubperson@dom.ainuFromuBOUNDARYuhello worlduContent-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--
(undiffAssertEqualuMIMEBaseuset_boundaryuMIMETextuattachu	as_string(uselfuequouterumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_one_part_in_a_multipart�s	




u*TestMultipart.test_one_part_in_a_multipartcCs||j}tdd�}d|d<d|d<d|d<d	|_td
�}|j|�|jd�||j�d�dS(
Nu	multipartumixedu	A subjectuSubjectuaperson@dom.ainuToubperson@dom.ainuFromuuhello worlduBOUNDARYuContent-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--
(undiffAssertEqualuMIMEBaseupreambleuMIMETextuattachuset_boundaryu	as_string(uselfuequouterumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu1test_seq_parts_in_a_multipart_with_empty_preamble�s	


	

u?TestMultipart.test_seq_parts_in_a_multipart_with_empty_preamblecCs||j}tdd�}d|d<d|d<d|d<d|_td	�}|j|�|jd
�||j�d�dS(Nu	multipartumixedu	A subjectuSubjectuaperson@dom.ainuToubperson@dom.ainuFromuhello worlduBOUNDARYuContent-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--
(undiffAssertEqualuMIMEBaseuNoneupreambleuMIMETextuattachuset_boundaryu	as_string(uselfuequouterumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu0test_seq_parts_in_a_multipart_with_none_preamble�s	


	

u>TestMultipart.test_seq_parts_in_a_multipart_with_none_preamblecCs||j}tdd�}d|d<d|d<d|d<d|_td	�}|j|�|jd
�||j�d�dS(Nu	multipartumixedu	A subjectuSubjectuaperson@dom.ainuToubperson@dom.ainuFromuhello worlduBOUNDARYuContent-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--
(undiffAssertEqualuMIMEBaseuNoneuepilogueuMIMETextuattachuset_boundaryu	as_string(uselfuequouterumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu0test_seq_parts_in_a_multipart_with_none_epilogues	


	

u>TestMultipart.test_seq_parts_in_a_multipart_with_none_epiloguecCs||j}tdd�}d|d<d|d<d|d<d	|_td
�}|j|�|jd�||j�d�dS(
Nu	multipartumixedu	A subjectuSubjectuaperson@dom.ainuToubperson@dom.ainuFromuuhello worlduBOUNDARYuContent-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--
(undiffAssertEqualuMIMEBaseuepilogueuMIMETextuattachuset_boundaryu	as_string(uselfuequouterumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu1test_seq_parts_in_a_multipart_with_empty_epilogue5s	


	

u?TestMultipart.test_seq_parts_in_a_multipart_with_empty_epiloguecCs||j}tdd�}d|d<d|d<d|d<d	|_td
�}|j|�|jd�||j�d�dS(
Nu	multipartumixedu	A subjectuSubjectuaperson@dom.ainuToubperson@dom.ainuFromu
uhello worlduBOUNDARYuContent-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--

(undiffAssertEqualuMIMEBaseuepilogueuMIMETextuattachuset_boundaryu	as_string(uselfuequouterumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu.test_seq_parts_in_a_multipart_with_nl_epiloguePs	


	

u<TestMultipart.test_seq_parts_in_a_multipart_with_nl_epiloguecCs�|j}|jd�}|t|j��d�|jd�}||j�d�|t|j��d�xb|j�D]T}||j�d�|t|j��d�|jd�}||j�d�qyWdS(Nu
msg_36.txtiiumultipart/alternativeumessage/external-bodyiu
text/plain(uassertEqualu_msgobjulenuget_payloaduget_content_type(uselfuequmsgumsg1usubpartu
subsubpart((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_message_external_bodyks	u(TestMultipart.test_message_external_bodycCs/|jd�}|jt|j��d�dS(Nu
msg_37.txti(u_msgobjuassertEqualulenuget_payload(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_double_boundaryxsu"TestMultipart.test_double_boundarycCsH|j}|jd�}t�}tj||�||j�d�dS(Nu
msg_38.txtu�multipart/mixed
    multipart/mixed
        multipart/alternative
            text/plain
        text/plain
    text/plain
    text/plain
(undiffAssertEqualu_msgobjuStringIOu	iteratorsu
_structureugetvalue(uselfuequmsgusfp((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu)test_nested_inner_contains_outer_boundarys		u7TestMultipart.test_nested_inner_contains_outer_boundarycCsH|j}|jd�}t�}tj||�||j�d�dS(Nu
msg_39.txtu�multipart/mixed
    multipart/mixed
        multipart/alternative
        application/octet-stream
        application/octet-stream
    text/plain
(undiffAssertEqualu_msgobjuStringIOu	iteratorsu
_structureugetvalue(uselfuequmsgusfp((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_nested_with_same_boundary�s		u,TestMultipart.test_nested_with_same_boundarycCs)|jd�}|j|j�d�dS(Nu
msg_40.txtu�MIME-Version: 1.0
Content-Type: text/html; boundary="--961284236552522269"

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

<html></html>

----961284236552522269--
(u_msgobjuassertEqualu	as_string(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_boundary_in_non_multipart�su,TestMultipart.test_boundary_in_non_multipartcCs[|j}tjd�}|j|j��||j�d�|t|j��d�dS(Nu�MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="    XXXX"

--    XXXX
Content-Type: text/plain


--    XXXX
Content-Type: text/plain

--    XXXX--
u    XXXXi(uassertEqualuemailumessage_from_stringu
assertTrueuis_multipartuget_boundaryulenuget_payload(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu test_boundary_with_leading_space�s		u.TestMultipart.test_boundary_with_leading_spacecCs5t�jd�}|j|jd�j�d�dS(Nu�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==--iuYXNkZg==(uParseruparsestruassertEqualuget_payload(uselfum((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu&test_boundary_without_trailing_newline�s	
	u4TestMultipart.test_boundary_without_trailing_newlineN(u__name__u
__module__u__qualname__usetUputest_hierarchyutest_empty_multipart_idempotentu/test_no_parts_in_a_multipart_with_none_epilogueu0test_no_parts_in_a_multipart_with_empty_epilogueutest_one_part_in_a_multipartu1test_seq_parts_in_a_multipart_with_empty_preambleu0test_seq_parts_in_a_multipart_with_none_preambleu0test_seq_parts_in_a_multipart_with_none_epilogueu1test_seq_parts_in_a_multipart_with_empty_epilogueu.test_seq_parts_in_a_multipart_with_nl_epilogueutest_message_external_bodyutest_double_boundaryu)test_nested_inner_contains_outer_boundaryutest_nested_with_same_boundaryutest_boundary_in_non_multipartu test_boundary_with_leading_spaceu&test_boundary_without_trailing_newline(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
TestMultipart[s$$
u
TestMultipartcBs�|EeZdZdd�Zdd�Zdd�Zejd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�ZdS(uTestNonConformantcCsU|j}|jd�}||j�d�||j�d�||j�d�dS(Nu
msg_14.txtu
text/plainutextuplain(uassertEqualu_msgobjuget_content_typeuget_content_maintypeuget_content_subtype(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_parse_missing_minor_type�s
	u/TestNonConformant.test_parse_missing_minor_typecCsk|jd�}|jd�}|jt|d��|jt|j�d�|j|jdtj	�dS(Nu
msg_15.txtiudefectsi(
u_msgobjuget_payloadu
assertTrueuhasattruassertEqualulenudefectsuassertIsInstanceuerrorsuStartBoundaryNotFoundDefect(uselfumsguinner((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_same_boundary_inner_outer�su0TestNonConformant.test_same_boundary_inner_outercCsv|jd�}|j|j�t�|jt|j�d�|j|jdtj�|j|jdtj	�dS(Nu
msg_25.txtiii(
u_msgobjuassertIsInstanceuget_payloadustruassertEqualulenudefectsuerrorsuNoBoundaryInMultipartDefectu!MultipartInvariantViolationDefect(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_multipart_no_boundary�s
u,TestNonConformant.test_multipart_no_boundaryu^        Date: Wed, 14 Nov 2007 12:56:23 GMT
        From: foo@bar.invalid
        To: foo@bar.invalid
        Subject: Content-Transfer-Encoding: base64 and multipart
        MIME-Version: 1.0
        Content-Type: multipart/mixed;
            boundary="===============3344438784458119861=="{}

        --===============3344438784458119861==
        Content-Type: text/plain

        Test message

        --===============3344438784458119861==
        Content-Type: application/octet-stream
        Content-Transfer-Encoding: base64

        YWJj

        --===============3344438784458119861==--
        cCsR|j|jjd��}|jt|j�d�|j|jdtj�dS(Nu"
Content-Transfer-Encoding: base64ii(	u_str_msgu
multipart_msguformatuassertEqualulenudefectsuassertIsInstanceuerrorsu-InvalidMultipartContentTransferEncodingDefect(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_multipart_invalid_ctes
u,TestNonConformant.test_multipart_invalid_ctecCs8|j|jjd��}|jt|j�d�dS(Nui(u_str_msgu
multipart_msguformatuassertEqualulenudefects(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_multipart_no_cte_no_defectsu1TestNonConformant.test_multipart_no_cte_no_defectcCsRxKdD]C}|j|jjdj|���}|jt|j�d�qWdS(Nu7bitu8bituBINaryu
Content-Transfer-Encoding: {}i(u7bitu8bituBINary(u_str_msgu
multipart_msguformatuassertEqualulenudefects(uselfucteumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu"test_multipart_valid_cte_no_defects

	u4TestNonConformant.test_multipart_valid_cte_no_defectcCs�|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(NutextuContent-Typeuplainu
text/plainucontent-typeufoouContent-Type: foo

(
uassertEqualundiffAssertEqualuMessageuget_content_maintypeuget_content_subtypeuget_content_typeuStringIOu	Generatoruflattenugetvalue(uselfuequnequmsgusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_invalid_content_type s 			

	
u+TestNonConformant.test_invalid_content_typecCs/|j}|jd�}||j�d�dS(Nu
msg_31.txtum--BOUNDARY
Content-Type: text/plain

message 1

--BOUNDARY
Content-Type: text/plain

message 2

--BOUNDARY--
(undiffAssertEqualu_msgobjuget_payload(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_no_start_boundary5s	u(TestNonConformant.test_no_start_boundarycCs/|j}|jd�}||j�d�dS(Nu
msg_35.txtu�From: aperson@dom.ain
To: bperson@dom.ain
Subject: here's something interesting

counter to RFC 2822, there's no separating newline here
(undiffAssertEqualu_msgobju	as_string(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_no_separating_blank_lineFs	u/TestNonConformant.test_no_separating_blank_linecCsv|jd�}|jt|d��|jt|j�d�|j|jdtj�|j|jdtj	�dS(Nu
msg_41.txtudefectsiii(
u_msgobju
assertTrueuhasattruassertEqualulenudefectsuassertIsInstanceuerrorsuNoBoundaryInMultipartDefectu!MultipartInvariantViolationDefect(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_lying_multipartRs
u&TestNonConformant.test_lying_multipartcCs^|jd�}|jd�jd�}|jt|j�d�|j|jdtj�dS(Nu
msg_42.txtii(u_msgobjuget_payloaduassertEqualulenudefectsuassertIsInstanceuerrorsuStartBoundaryNotFoundDefect(uselfuouterubad((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_missing_start_boundary\s
	u-TestNonConformant.test_missing_start_boundarycCs�|j}d}tj|�}||j�dg�||j�d�|t|j�d�|j|jtj	g�||jdj
d�dS(Nu Line 1
Subject: test

bodyuSubjectubodyiiu Line 1
(uassertEqualuemailumessage_from_stringukeysuget_payloadulenudefectsuassertDefectsEqualuerrorsu#FirstHeaderLineIsContinuationDefectuline(uselfuequmumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu&test_first_line_is_continuation_headerls	
u8TestNonConformant.test_first_line_is_continuation_headercCs[|jd�}|j|j�dg�|j|j�d�|j|jtjg�dS(Nu&Subject: test
not a header
To: abc

b
uSubjectunot a header
To: abc

b
(u_str_msguassertEqualukeysuget_payloaduassertDefectsEqualudefectsuerrorsu MissingHeaderBodySeparatorDefect(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu"test_missing_header_body_separatorxs
u4TestNonConformant.test_missing_header_body_separatorN(u__name__u
__module__u__qualname__utest_parse_missing_minor_typeutest_same_boundary_inner_outerutest_multipart_no_boundaryutextwrapudedentu
multipart_msgutest_multipart_invalid_cteutest_multipart_no_cte_no_defectu"test_multipart_valid_cte_no_defectutest_invalid_content_typeutest_no_start_boundaryutest_no_separating_blank_lineutest_lying_multipartutest_missing_start_boundaryu&test_first_line_is_continuation_headeru"test_missing_header_body_separator(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestNonConformant�s
		
uTestNonConformantcBs�|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!S("uTestRFC2047cCss|j}d}t|�}||d
ddd
g�t|�}|t|�d�|j|jdd�d	�dS(NuVRe: =?mac-iceland?q?r=8Aksm=9Arg=8Cs?= baz
 foo bar =?mac-iceland?q?r=8Aksm=9Arg=8Cs?=sRe: s
r�ksm�rg�sumac-icelands
 baz foo bar u+Re: räksmörgås baz foo bar räksmörgåsu
maxlineleniLuiRe: =?mac-iceland?q?r=8Aksm=9Arg=8Cs?= baz foo bar =?mac-iceland?q?r=8Aksm?=
 =?mac-iceland?q?=9Arg=8Cs?=(sRe: N(s
r�ksm�rg�sumac-iceland(s
 baz foo bar N(s
r�ksm�rg�sumac-iceland(uassertEqualu
decode_headeruNoneumake_headerustrundiffAssertEqualuencode(uselfuequsudhuheader((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2047_multiline�s	
u"TestRFC2047.test_rfc2047_multilinecCsQ|j}d}t|�}||ddg�tt|��}||d�dS(Nu0=?ISO-8859-1?Q?Andr=E9?= Pirard <pirard@dom.ain>sAndr�u
iso-8859-1s Pirard <pirard@dom.ain>uAndré Pirard <pirard@dom.ain>(sAndr�u
iso-8859-1(s Pirard <pirard@dom.ain>N(uassertEqualu
decode_headeruNoneustrumake_header(uselfuequsudhuheader((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_whitespace_keeper_unicode�s		
u*TestRFC2047.test_whitespace_keeper_unicodecCsW|j}d}t|�}||dd	d
dg�tt|��}||d�dS(NuWThe =?iso-8859-1?b?cXVpY2sgYnJvd24gZm94?= jumped over the =?iso-8859-1?b?bGF6eSBkb2c=?=sThe squick brown foxu
iso-8859-1s jumped over the slazy dogu,The quick brown fox jumped over the lazy dog(sThe N(squick brown foxu
iso-8859-1(s jumped over the N(slazy dogu
iso-8859-1(uassertEqualu
decode_headeruNoneustrumake_header(uselfuequsudhuhu((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu test_whitespace_keeper_unicode_2�s	
u,TestRFC2047.test_whitespace_keeper_unicode_2cCs5d}t|�}|j|dd	d
ddg�dS(
Nu3Sm=?ISO-8859-1?B?9g==?=rg=?ISO-8859-1?B?5Q==?=sbordsSms�u
iso-8859-1srgs�ssbord(sSmN(s�u
iso-8859-1(srgN(s�u
iso-8859-1(ssbordN(u
decode_headeruassertEqualuNone(uselfusudh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2047_missing_whitespace�s
u+TestRFC2047.test_rfc2047_missing_whitespacecCs5d}t|�}|j|dd	d
ddg�dS(
Nu7Sm =?ISO-8859-1?B?9g==?= rg =?ISO-8859-1?B?5Q==?= sbordsSm s�u
iso-8859-1s rg s�s sbord(sSm N(s�u
iso-8859-1(s rg N(s�u
iso-8859-1(s sbordN(u
decode_headeruassertEqualuNone(uselfusudh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2047_with_whitespace�s
u(TestRFC2047.test_rfc2047_with_whitespacecCs_d}d
ddd
dg}x=|D]5\}}t||�}|j||d	fg�q"WdS(Nu=?iso-8859-1?B?%s?=udm==svudm=udmudmk=sviudmku
iso-8859-1(udm==sv(udm=sv(udmsv(udmk=svi(udmksvi(u
decode_headeruassertEqual(uselfusudatauquaudh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2047_B_bad_padding�s	u&TestRFC2047.test_rfc2047_B_bad_paddingcCs#d}|jt|�dg�dS(Nu=?iso-8659-1?Q?andr=e9=zz?=sandr�=zzu
iso-8659-1(sandr�=zzu
iso-8659-1(uassertEqualu
decode_header(uselfus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2047_Q_invalid_digits�su)TestRFC2047.test_rfc2047_Q_invalid_digitscCs)d}|jt|�dddg�dS(	Nu(=?ISO-8859-1?Q?a?=)s(sau
iso-8859-1s)(s(N(sau
iso-8859-1(s)N(uassertEqualu
decode_headeruNone(uselfus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2047_rfc2047_1�su"TestRFC2047.test_rfc2047_rfc2047_1cCs)d}|jt|�dddg�dS(	Nu(=?ISO-8859-1?Q?a?= b)s(sau
iso-8859-1s b)(s(N(sau
iso-8859-1(s b)N(uassertEqualu
decode_headeruNone(uselfus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2047_rfc2047_2�su"TestRFC2047.test_rfc2047_rfc2047_2cCs)d}|jt|�dddg�dS(	Nu'(=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)s(sabu
iso-8859-1s)(s(N(sabu
iso-8859-1(s)N(uassertEqualu
decode_headeruNone(uselfus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2047_rfc2047_3�su"TestRFC2047.test_rfc2047_rfc2047_3cCs)d}|jt|�dddg�dS(	Nu((=?ISO-8859-1?Q?a?=  =?ISO-8859-1?Q?b?=)s(sabu
iso-8859-1s)(s(N(sabu
iso-8859-1(s)N(uassertEqualu
decode_headeruNone(uselfus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2047_rfc2047_4�su"TestRFC2047.test_rfc2047_rfc2047_4cCs)d}|jt|�dddg�dS(	Nu,(=?ISO-8859-1?Q?a?=
    =?ISO-8859-1?Q?b?=)s(sabu
iso-8859-1s)(s(N(sabu
iso-8859-1(s)N(uassertEqualu
decode_headeruNone(uselfus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2047_rfc2047_5a�su#TestRFC2047.test_rfc2047_rfc2047_5acCs)d}|jt|�dddg�dS(	Nu+(=?ISO-8859-1?Q?a?=
    =?ISO-8859-1?Q?b?=)s(sabu
iso-8859-1s)(s(N(sabu
iso-8859-1(s)N(uassertEqualu
decode_headeruNone(uselfus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2047_rfc2047_5b�su#TestRFC2047.test_rfc2047_rfc2047_5bcCs)d}|jt|�dddg�dS(	Nu(=?ISO-8859-1?Q?a_b?=)s(sa bu
iso-8859-1s)(s(N(sa bu
iso-8859-1(s)N(uassertEqualu
decode_headeruNone(uselfus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2047_rfc2047_6�su"TestRFC2047.test_rfc2047_rfc2047_6cCsvd}|jt|�d	d
ddg�|jtt|��j�|j��|jttt|���d�dS(
Nu((=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)s(sau
iso-8859-1s bu
iso-8859-2s)u(a b)(s(N(sau
iso-8859-1(s bu
iso-8859-2(s)N(uassertEqualu
decode_headeruNoneumake_headeruencodeulowerustr(uselfus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2047_rfc2047_7�s	
(u"TestRFC2047.test_rfc2047_rfc2047_7cCsyd}|jt|�ddg�|jtt|��j�dj|j���|jttt|���d�dS(	Nu9=?windows-1252?q?=22M=FCller_T=22?=
 <T.Mueller@xxx.com>s
"M�ller T"uwindows-1252s<T.Mueller@xxx.com>uu"Müller T" <T.Mueller@xxx.com>(s
"M�ller T"uwindows-1252(s<T.Mueller@xxx.com>N(uassertEqualu
decode_headeruNoneumake_headeruencodeujoinu
splitlinesustr(uselfus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_multiline_header�s
u!TestRFC2047.test_multiline_headerN(u__name__u
__module__u__qualname__utest_rfc2047_multilineutest_whitespace_keeper_unicodeu test_whitespace_keeper_unicode_2utest_rfc2047_missing_whitespaceutest_rfc2047_with_whitespaceutest_rfc2047_B_bad_paddingutest_rfc2047_Q_invalid_digitsutest_rfc2047_rfc2047_1utest_rfc2047_rfc2047_2utest_rfc2047_rfc2047_3utest_rfc2047_rfc2047_4utest_rfc2047_rfc2047_5autest_rfc2047_rfc2047_5butest_rfc2047_rfc2047_6utest_rfc2047_rfc2047_7utest_multiline_header(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestRFC2047�s 		
	uTestRFC2047cBs�|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS(uTestMIMEMessagec	Cs(td��}|j�|_WdQXdS(Nu
msg_11.txt(uopenfileureadu_text(uselfufp((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyusetUp	suTestMIMEMessage.setUpcCs|jttd�dS(Nua plain string(uassertRaisesu	TypeErroruMIMEMessage(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_type_error	suTestMIMEMessage.test_type_errorcCs�|j}d}t�}||d<t|�}||j�d�|j�}|j|t�|t|�d�|d}|j||�||d|�dS(Nu
A sub-messageuSubjectumessage/rfc822iiusubject(	uassertEqualuMessageuMIMEMessageuget_content_typeuget_payloaduassertIsInstanceulistulenuassertIs(uselfuequsubjectumurupayloadusubpart((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_valid_argument	s		

u#TestMIMEMessage.test_valid_argumentcCsOt�}d|d<t�}d|d<t|�}|jtj|j|�dS(Nu	subpart 1uSubjectu	subpart 2(uMessageuMIMEMessageuassertRaisesuerrorsuMultipartConversionErroruattach(uselfumsg1umsg2ur((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_bad_multipart	s	
	
u"TestMIMEMessage.test_bad_multipartcCsrt�}d|d<|jd�t|�}d|d<t�}t|�}|j|�|j|j�d�dS(NuAn enclosed messageuSubjectu!Here is the body of the message.
uThe enclosing messageu�Content-Type: message/rfc822
MIME-Version: 1.0
Subject: The enclosing message

Subject: An enclosed message

Here is the body of the message.
(uMessageuset_payloaduMIMEMessageuStringIOu	GeneratoruflattenuassertEqualugetvalue(uselfumurusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
test_generate$	s	


	
uTestMIMEMessage.test_generatecCs�|j}|jd�}||j�d�|j�}|j|t�|t|�d�|d}|j|t�||dd�||j�d�dS(Nu
msg_11.txtumessage/rfc822iiusubjectuAn enclosed messageu!Here is the body of the message.
(uassertEqualu_msgobjuget_content_typeuget_payloaduassertIsInstanceulistulenuMessage(uselfuequmsgupayloadusubmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_parse_message_rfc8228	s	
u)TestMIMEMessage.test_parse_message_rfc822cCs-|j}|jd�}||j�d�|j|j��|t|j��d�|jd�}||j�d�||j�d�|jd�}||j�d�|t|j��d	�|jd�}|j|t�||d
d�||j	dd
d�d�||j	dd
d�d�|jd�}|j|t�||dd�||jd
d�ddg�||j	dd
d�d�|jd	�}||j�d�|j�}|j|t�|t|�d�|d}|j|t�||j�d�||dd�dS(Nu
msg_16.txtumultipart/reportiiu
text/plainu�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

iumessage/delivery-statusiuoriginal-envelope-idu"0GK500B4HD0888@cougar.noc.ucla.eduudnsuheaderu
reporting-mtauunsduactionufaileduoriginal-recipienturfc822ujangel1@cougar.noc.ucla.eduufinal-recipientumessage/rfc822u
message-idu(<002001c144a6$8752e060$56104586@oxy.edu>(urfc822u(ujangel1@cougar.noc.ucla.eduu(
uassertEqualu_msgobjuget_content_typeu
assertTrueuis_multipartulenuget_payloaduassertIsInstanceuMessageu	get_paramuNoneu
get_paramsulist(uselfuequmsgusubpartudsn1udsn2upayloadu
subsubpart((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_dsnD	sB	


uTestMIMEMessage.test_dsnc	Cs�|j}td��}|j�}WdQXt�}d|d<d|d<d|d<d|_d	|_td
�}td�}|jdd
dd�|j|�|j|�t	�}t
|�}|j|�||j�|�dS(Nu
msg_21.txtuaperson@dom.ainuFromubperson@dom.ainuTouTestuSubjectuMIME messageuEnd of MIME message
uOneuTwouContent-Typeumultipart/mixeduboundaryuBOUNDARY(
undiffAssertEqualuopenfileureaduMessageupreambleuepilogueuMIMETextu
add_headeruattachuStringIOu	Generatoruflattenugetvalue(	uselfuequfputextumsgumsg1umsg2usfpug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
test_epilogue}	s$		


		

	
uTestMIMEMessage.test_epiloguecCs�|j}t�}d|d<d|d<d|d<d|_d|_td	�}td
�}|jddd
d�|j|�|j|�||j�d�dS(Nuaperson@dom.ainuFromubperson@dom.ainuTouTestuSubjectuMIME messageuuOneuTwouContent-Typeumultipart/mixeduboundaryuBOUNDARYudFrom: 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--
(undiffAssertEqualuMessageupreambleuepilogueuMIMETextu
add_headeruattachu	as_string(uselfuequmsgumsg1umsg2((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_no_nl_preamble�	s		


		

u#TestMIMEMessage.test_no_nl_preamblec	Cs|j}td��}tj|�}WdQX|jd�}||j�d�||j�d�|jd�}||j�d�||j�d�|jd�}||j�d�||j�d�|jd�}||j�d�||j�d�dS(Nu
msg_30.txtiumessage/rfc822iu
text/plain(uassertEqualuopenfileuemailumessage_from_fileuget_payloaduget_default_typeuget_content_type(uselfuequfpumsgu
container1u
container2ucontainer1aucontainer2a((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_default_type�	s	u!TestMIMEMessage.test_default_typec	Cs|j}td��}tj|�}WdQX|jd�}||j�d�||j�d�|jd�}||j�d�||j�d�|jd�}||j�d�||j�d�|jd�}||j�d�||j�d�dS(Nu
msg_28.txtiumessage/rfc822iu
text/plain(uassertEqualuopenfileuemailumessage_from_fileuget_payloaduget_default_typeuget_content_type(uselfuequfpumsgu
container1u
container2ucontainer1aucontainer2a((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu.test_default_type_with_explicit_container_type�	s	u>TestMIMEMessage.test_default_type_with_explicit_container_typecCsX|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(NudigestuBOUNDARYuu
message 1
u
message 2
umessage/rfc822iu�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--
ucontent-typeumime-versionuBContent-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--
(
uassertEqualundiffAssertEqualu
MIMEMultipartuepilogueuMIMETextuMIMEMessageuattachuget_content_typeuget_default_typeu	as_string(uselfuequnequ	containeru	subpart1au	subpart2ausubpart1usubpart2((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_default_type_non_parsed�	s4			

u,TestMIMEMessage.test_default_type_non_parsedcCs|j}td�}td�}td||f�}|t|j��d�||jd�|�||jd�|�dS(Nuu	_subpartsiii(uassertEqualuMIMETextu
MIMEMultipartulenuget_payload(uselfuequtext1utext2umsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu$test_mime_attachments_in_constructor 
s	u4TestMIMEMessage.test_mime_attachments_in_constructorcCs t�}|j|j��dS(N(u
MIMEMultipartu
assertTrueuis_multipart(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu"test_default_multipart_constructor)
s	u2TestMIMEMessage.test_default_multipart_constructorN(u__name__u
__module__u__qualname__usetUputest_type_errorutest_valid_argumentutest_bad_multipartu
test_generateutest_parse_message_rfc822utest_dsnu
test_epilogueutest_no_nl_preambleutest_default_typeu.test_default_type_with_explicit_container_typeutest_default_type_non_parsedu$test_mime_attachments_in_constructoru"test_default_multipart_constructor(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestMIMEMessage	s9#J	uTestMIMEMessagecBs=|EeZdZdZdd�Zd3dd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2S(4uTestIdempotentu
cCs:t|��}|j�}WdQXtj|�}||fS(N(uopenfileureaduemailumessage_from_string(uselfufilenameufpudataumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu_msgobj7
suTestIdempotent._msgobjcCsN|j}t�}t|dd�}|j|d|�|||j��dS(Numaxheaderleniuunixfrom(undiffAssertEqualuStringIOu	Generatoruflattenugetvalue(uselfumsgutextuunixfromuequsug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu_idempotent=
s
		uTestIdempotent._idempotentcCs�|j}|jd�\}}||j�d�||j�d�||j�d�||j�dd�||jd�d�||jd�||j	d�|j
||�dS(	Nu
msg_01.txtu
text/plainutextuplainiucharsetuus-ascii(ucharsetuus-ascii(uassertEqualu_msgobjuget_content_typeuget_content_maintypeuget_content_subtypeu
get_paramsu	get_paramupreambleuNoneuepilogueu_idempotent(uselfuequmsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_parse_text_messageD
s	u&TestIdempotent.test_parse_text_messagecCsn|j}|jd�\}}||j�d�||j�d�||jd�d�|j||�dS(Nu
msg_03.txtu
text/plainucharset(uassertEqualu_msgobjuget_content_typeu
get_paramsuNoneu	get_paramu_idempotent(uselfuequmsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_parse_untyped_messageP
s	u)TestIdempotent.test_parse_untyped_messagecCs)|jd�\}}|j||�dS(Nu
msg_04.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_simple_multipartX
su$TestIdempotent.test_simple_multipartcCs)|jd�\}}|j||�dS(Nu
msg_02.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_MIME_digest\
suTestIdempotent.test_MIME_digestcCs)|jd�\}}|j||�dS(Nu
msg_27.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_long_header`
suTestIdempotent.test_long_headercCs)|jd�\}}|j||�dS(Nu
msg_28.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu"test_MIME_digest_with_part_headersd
su1TestIdempotent.test_MIME_digest_with_part_headerscCs)|jd�\}}|j||�dS(Nu
msg_06.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_mixed_with_imageh
su$TestIdempotent.test_mixed_with_imagecCs)|jd�\}}|j||�dS(Nu
msg_05.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_multipart_reportl
su$TestIdempotent.test_multipart_reportcCs)|jd�\}}|j||�dS(Nu
msg_16.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_dsnp
suTestIdempotent.test_dsncCs)|jd�\}}|j||�dS(Nu
msg_21.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_preamble_epiloguet
su%TestIdempotent.test_preamble_epiloguecCs)|jd�\}}|j||�dS(Nu
msg_23.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_multipart_one_partx
su&TestIdempotent.test_multipart_one_partcCs)|jd�\}}|j||�dS(Nu
msg_24.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_multipart_no_parts|
su&TestIdempotent.test_multipart_no_partscCs)|jd�\}}|j||�dS(Nu
msg_31.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_no_start_boundary�
su%TestIdempotent.test_no_start_boundarycCs)|jd�\}}|j||�dS(Nu
msg_32.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2231_charset�
su#TestIdempotent.test_rfc2231_charsetcCs)|jd�\}}|j||�dS(Nu
msg_33.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_more_rfc2231_parameters�
su+TestIdempotent.test_more_rfc2231_parameterscCs)|jd�\}}|j||�dS(Nu
msg_34.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu%test_text_plain_in_a_multipart_digest�
su4TestIdempotent.test_text_plain_in_a_multipart_digestcCs)|jd�\}}|j||�dS(Numsg_12a.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_nested_multipart_mixeds�
su+TestIdempotent.test_nested_multipart_mixedscCs)|jd�\}}|j||�dS(Nu
msg_36.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu%test_message_external_body_idempotent�
su4TestIdempotent.test_message_external_body_idempotentcCs/|jd�\}}|j||dd�dS(Nu
msg_43.txtuunixfromT(u_msgobju_idempotentuTrue(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_message_delivery_status�
su+TestIdempotent.test_message_delivery_statuscCs)|jd�\}}|j||�dS(Nu
msg_45.txt(u_msgobju_idempotent(uselfumsgutext((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_message_signed_idempotent�
su-TestIdempotent.test_message_signed_idempotentcCs�|j}|jd�\}}||j�d�i}x$|j�D]\}}|||<qDW||dd�||dd�||jd|j�||j|j�|t|j��d�|jd	�}||j�d
�||j�d|j�|jd�}||j�d
�||j�d|j�|jd
�}	||	j�d�|j	|	t
�|	j�}
|j	|
t�|t|
�d�|
d	}|j	|t
�||j�d|j�dS(Nu
msg_05.txtumultipart/reportureport-typeudelivery-statusuboundaryu%D1690A7AC1.996856090/mail.example.comu$This is a MIME-encapsulated message.iiu
text/plainuYadda yadda yaddaiiumessage/rfc822(uassertEqualu_msgobjuget_content_typeu
get_paramsupreambleulinesepuepilogueulenuget_payloaduassertIsInstanceuMessageulist(uselfuequmsgutextuparamsupkupvumsg1umsg2umsg3upayloadumsg4((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_content_type�
s4	
u TestIdempotent.test_content_typecCs�|j}|jd�\}}||j�d�|j�}|j|t�|t|�d�|d}|j|t�||j�d�|j|j�t�||j�|j	�dS(Nu
msg_06.txtumessage/rfc822iiu
text/plain(
uassertEqualu_msgobjuget_content_typeuget_payloaduassertIsInstanceulistulenuMessageustrulinesep(uselfuequmsgutextupayloadumsg1((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_parser�
s	
uTestIdempotent.test_parserNF(u__name__u
__module__u__qualname__ulinesepu_msgobjuFalseu_idempotentutest_parse_text_messageutest_parse_untyped_messageutest_simple_multipartutest_MIME_digestutest_long_headeru"test_MIME_digest_with_part_headersutest_mixed_with_imageutest_multipart_reportutest_dsnutest_preamble_epilogueutest_multipart_one_partutest_multipart_no_partsutest_no_start_boundaryutest_rfc2231_charsetutest_more_rfc2231_parametersu%test_text_plain_in_a_multipart_digestutest_nested_multipart_mixedsu%test_message_external_body_idempotentutest_message_delivery_statusutest_message_signed_idempotentutest_content_typeutest_parser(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestIdempotent3
s2uTestIdempotentcBs<|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/d[d\�Z0d]S(^uTestMiscellaneousc
Csrtd��}|j�}WdQXtj|�}t�}t|dd�}|j|�|j||j��dS(Nu
msg_01.txtumaxheaderleni(	uopenfileureaduemailumessage_from_stringuStringIOu	GeneratoruflattenuassertEqualugetvalue(uselfufputextumsgusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_message_from_string�
s	
u*TestMiscellaneous.test_message_from_stringcCstd��m}|j�}|jd�tj|�}t�}t|dd�}|j|�|j||j	��WdQXdS(Nu
msg_01.txtiumaxheaderlen(
uopenfileureaduseekuemailumessage_from_fileuStringIOu	GeneratoruflattenuassertEqualugetvalue(uselfufputextumsgusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_message_from_file�
s
	
u(TestMiscellaneous.test_message_from_filecCs�td��}|j�}WdQXGdd�dt�}tj||�}|j||�td��}|j�}WdQXtj||�}x$|j�D]}|j||�q�WdS(Nu
msg_01.txtcBs|EeZdZdS(uHTestMiscellaneous.test_message_from_string_with_class.<locals>.MyMessageN(u__name__u
__module__u__qualname__(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu	MyMessage�
su	MyMessageu
msg_02.txt(uopenfileureaduMessageuemailumessage_from_stringuassertIsInstanceuwalk(uselfufputextu	MyMessageumsgusubpart((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu#test_message_from_string_with_class�
su5TestMiscellaneous.test_message_from_string_with_classcCs�Gdd�dt�}td��}tj||�}WdQX|j||�td��}tj||�}WdQXx$|j�D]}|j||�q�WdS(NcBs|EeZdZdS(uFTestMiscellaneous.test_message_from_file_with_class.<locals>.MyMessageN(u__name__u
__module__u__qualname__(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu	MyMessage�
su	MyMessageu
msg_01.txtu
msg_02.txt(uMessageuopenfileuemailumessage_from_fileuassertIsInstanceuwalk(uselfu	MyMessageufpumsgusubpart((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_message_from_file_with_class�
su3TestMiscellaneous.test_message_from_file_with_classcCs<Gdd�dt�}|jd|�}|j||�dS(Ncs&|EeZdZ�fdd�Z�S(uSTestMiscellaneous.test_custom_message_does_not_require_arguments.<locals>.MyMessagecst�j�dS(N(usuperu__init__(uself(u	__class__(u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu__init__su\TestMiscellaneous.test_custom_message_does_not_require_arguments.<locals>.MyMessage.__init__(u__name__u
__module__u__qualname__u__init__(u
__locals__((u	__class__u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu	MyMessage
su	MyMessageuSubject: test

test(uMessageu_str_msguassertIsInstance(uselfu	MyMessageumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu.test_custom_message_does_not_require_arguments	su@TestMiscellaneous.test_custom_message_does_not_require_argumentscCs\td�}|jt|j�dddddddd	d
ddd
dddddg�dS(Nuemailu
base64mimeucharsetuencodersuerrorsu
feedparseru	generatoruheaderu	iteratorsumessageumessage_from_binary_fileumessage_from_bytesumessage_from_fileumessage_from_stringumimeuparseru
quoprimimeuutils(u
__import__uassertEqualusortedu__all__(uselfumodule((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest__all__suTestMiscellaneous.test__all__cCsOtj�}|jtjtj|��dd�tj|�dd��dS(Ni(utimeuassertEqualuutilsu	parsedateu
formatdateugmtime(uselfunow((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_formatdates%u!TestMiscellaneous.test_formatdatecCsUtj�}|jtjtj|dd��dd�tj|�dd��dS(Nu	localtimeiT(utimeuassertEqualuutilsu	parsedateu
formatdateuTrueu	localtime(uselfunow((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_formatdate_localtimes%u+TestMiscellaneous.test_formatdate_localtimecCs~tj�}|jtj|dd�tjdtj|���|jtj|dddd�tjdtj|���dS(Nu	localtimeu%a, %d %b %Y %H:%M:%S -0000uusegmtu%a, %d %b %Y %H:%M:%S GMTFT(utimeuassertEqualuutilsu
formatdateuFalseustrftimeugmtimeuTrue(uselfunow((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_formatdate_usegmt%su(TestMiscellaneous.test_formatdate_usegmtcCs�|jtjd��|jtjd��|jtjd��|jtjd��|jtjd��|jtjd��|jtjd��|jtjd��dS(Nuu0uA Complete Waste of Time(uassertIsNoneuutilsu	parsedateuparsedate_tzuNone(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu/test_parsedate_returns_None_for_invalid_strings/suATestMiscellaneous.test_parsedate_returns_None_for_invalid_stringscCs&|jtjd�tjd��dS(NuWed,3 Apr 2002 14:58:26 +0800uWed, 3 Apr 2002 14:58:26 +0800(uassertEqualuutilsu	parsedate(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_parsedate_compact:su(TestMiscellaneous.test_parsedate_compactcCs#|j}|tjd�d
�dS(Nu25 Feb 2003 13:47:26 -0800i�iii
i/iiii�pi����i����(
i�iii
i/iiii����i����(uassertEqualuutilsuparsedate_tz(uselfueq((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_parsedate_no_dayofweek?s	u-TestMiscellaneous.test_parsedate_no_dayofweekcCs#|j}|tjd�d
�dS(Nu5 Feb 2003 13:47:26 -0800i�iii
i/iiii�pi����i����(
i�iii
i/iiii����i����(uassertEqualuutilsuparsedate_tz(uselfueq((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu#test_parsedate_compact_no_dayofweekDs	u5TestMiscellaneous.test_parsedate_compact_no_dayofweekcCs|jtjd�d�dS(
NuWed, 3 Apr 2002 14:58:26+0800i�iiii:iiii�pi����(
i�iiii:iiii����i�p(uassertEqualuutilsuparsedate_tz(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu.test_parsedate_no_space_before_positive_offsetIsu@TestMiscellaneous.test_parsedate_no_space_before_positive_offsetcCs|jtjd�d
�dS(NuWed, 3 Apr 2002 14:58:26-0800i�iiii:iiii�pi����i����(
i�iiii:iiii����i����(uassertEqualuutilsuparsedate_tz(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu.test_parsedate_no_space_before_negative_offsetMsu@TestMiscellaneous.test_parsedate_no_space_before_negative_offsetcCs9|j}|tjd�d�|tjd�d�dS(Nu5 Feb 2003 13.47.26 -0800i�iii
i/iiii�pu5 Feb 2003 13.47 -0800i����i����(
i�iii
i/iiii����i����i����i����(
i�iii
i/iiii����i����(uassertEqualuutilsuparsedate_tz(uselfueq((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu%test_parsedate_accepts_time_with_dotsSs
	u7TestMiscellaneous.test_parsedate_accepts_time_with_dotscCs�|j}tjd�}ttj|��}|tj|�dd�|dd��|ttjd|��d�tjd�}ttj|dd���}|tj|�dd�|dd��|ttjd|dd���d�dS(Nu5 Feb 2003 13:47:26 -0800iu%Yi�i	(	uassertEqualuutilsu	parsedateuintutimeumktimeu	localtimeustrftimeuparsedate_tz(uselfuequtimetuput((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu+test_parsedate_acceptable_to_time_functionsZs	**u=TestMiscellaneous.test_parsedate_acceptable_to_time_functionscCs6|jtjd�d�|jtjd�d
�dS(Ni�iii�i����i����i����(
i�iiiiii����i����i����ii����i����i����(
i�iiiiii����i����i����i�i.���(uassertEqualuutilsu	mktime_tz(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_mktime_tzes
u TestMiscellaneous.test_mktime_tzcCsH|jtjd�tjd��|jtjd�tjd��dS(uTest 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.

        u25 Feb 03 13:47:26 -0800u25 Feb 2003 13:47:26 -0800u25 Feb 71 13:47:26 -0800u25 Feb 1971 13:47:26 -0800N(uassertEqualuutilsuparsedate_tz(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_parsedate_y2kksu$TestMiscellaneous.test_parsedate_y2kcCs?|jtjd�d�|jtjtjd��d�dS(Nu<>u(uu(uassertEqualuutilsu	parseaddru
formataddr(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_parseaddr_emptyxsu&TestMiscellaneous.test_parseaddr_emptycCs|jtjd�d�dS(NuA Silly Personuperson@dom.ainuA Silly Person <person@dom.ain>(uA Silly Personuperson@dom.ain(uassertEqualuutilsu
formataddr(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_noquote_dump|su#TestMiscellaneous.test_noquote_dumpcCsp|jtjd�d�|jtjd�d�d}d}|jtjtj||f��||f�dS(NuA (Very) Silly Personuperson@dom.ainu("A (Very) Silly Person" <person@dom.ain>u*"A \(Very\) Silly Person" <person@dom.ain>uA \(Special\) Person(uA (Very) Silly Personuperson@dom.ain(uA (Very) Silly Personuperson@dom.ain(uassertEqualuutilsu
formataddru	parseaddr(uselfuaub((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_escape_dump�su"TestMiscellaneous.test_escape_dumpcCsW|jtjd�d�d}d}|jtjtj||f��||f�dS(NuArthur \Backslash\ Foobaruperson@dom.ainu."Arthur \\Backslash\\ Foobar" <person@dom.ain>(uArthur \Backslash\ Foobaruperson@dom.ain(uassertEqualuutilsu
formataddru	parseaddr(uselfuaub((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_escape_backslashes�su)TestMiscellaneous.test_escape_backslashescCs]d}d}d}d}|jtj||f�|�|jtj||fd�|�dS(NuHäns Würstuperson@dom.ainu-=?utf-8?b?SMOkbnMgV8O8cnN0?= <person@dom.ain>u0=?iso-8859-1?q?H=E4ns_W=FCrst?= <person@dom.ain>u
iso-8859-1(uassertEqualuutilsu
formataddr(uselfunameuaddruutf8_base64u
latin1_quopri((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_quotes_unicode_names�su+TestMiscellaneous.test_quotes_unicode_namescs�d}d}d}d�G�fdd�d�}|�}d�|f}|jtj||f|�|�|jtj||ftd��|�dS(	NuHäns Würstuperson@dom.ainu-=?utf-8?b?SMOkbnMgV8O8cnN0?= <person@dom.ain>uFOOBARcs&|EeZdZ�fdd�ZdS(uKTestMiscellaneous.test_accepts_any_charset_like_object.<locals>.CharsetMockcs�S(N((uselfustring(ufoobar(u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
header_encode�suYTestMiscellaneous.test_accepts_any_charset_like_object.<locals>.CharsetMock.header_encodeN(u__name__u
__module__u__qualname__u
header_encode(u
__locals__(ufoobar(u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuCharsetMock�suCharsetMocku%s <%s>uutf-8(uassertEqualuutilsu
formataddruCharset(uselfunameuaddruutf8_base64uCharsetMockumocku
mock_expected((ufoobaru?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu$test_accepts_any_charset_like_object�s	"!u6TestMiscellaneous.test_accepts_any_charset_like_objectcCs8d}d}t�}|jttj||f|�dS(NuHäns Würstuperson@dom.ain(uobjectuassertRaisesuAttributeErroruutilsu
formataddr(uselfunameuaddrubad_charset((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu-test_invalid_charset_like_object_raises_error�s
	u?TestMiscellaneous.test_invalid_charset_like_object_raises_errorcCsBd}|jttjd|f�|jttjd|f�dS(Nupersön@dom.inuName(uassertRaisesuUnicodeErroruutilsu
formataddruNone(uselfuaddr((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_unicode_address_raises_error�su3TestMiscellaneous.test_unicode_address_raises_errorcCsyd}d}d\}}|jtj|�||f�|jtj|�||f�|jtj||f�|�dS(NuJohn X. Doe <jxd@example.com>u"John X. Doe" <jxd@example.com>uJohn X. Doeujxd@example.com(uJohn X. Doeujxd@example.com(uassertEqualuutilsu	parseaddru
formataddr(uselfuxuyuaub((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_name_with_dot�su$TestMiscellaneous.test_name_with_dotcCsO|j}|tjd�d�|tjd�d�|tjd�d�dS(Nu""example" example"@example.comuu!"\"example\" example"@example.comu#"\\"example\\" example"@example.com(uu""example" example"@example.com(uu!"\"example\" example"@example.com(uu#"\\"example\\" example"@example.com(uassertEqualuutilsu	parseaddr(uselfueq((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu2test_parseaddr_preserves_quoted_pairs_in_addresses�s
	uDTestMiscellaneous.test_parseaddr_preserves_quoted_pairs_in_addressescCs�|jdtjd��|jd	tjd��|jd
tjd��|jdtjd��|jdtjd��dS(
Nuumerwok wok@xample.comumerwok  wok@xample.comu merwok  wok  @xample.comumerwok"wok"  wok@xample.comumerwok.wok.wok@xample.comumerwok. wok .  wok@xample.com(uumerwok wok@xample.com(uumerwok  wok@xample.com(uumerwok  wok@xample.com(uumerwok"wok"  wok@xample.com(uumerwok.wok.wok@xample.com(uassertEqualuutilsu	parseaddr(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu-test_parseaddr_preserves_spaces_in_local_part�s					u?TestMiscellaneous.test_parseaddr_preserves_spaces_in_local_partcCsBd}d}|jtj|�|�|jtj|�|�dS(Nu#'foo@example.com' (foo@example.com)ufoo@example.comu7"'foo@example.com' (foo@example.com)" <foo@example.com>(u#'foo@example.com' (foo@example.com)ufoo@example.com(uassertEqualuutilsu	parseaddru
formataddr(uselfuaddruaddrstr((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu6test_formataddr_does_not_quote_parens_in_quoted_string�s
uHTestMiscellaneous.test_formataddr_does_not_quote_parens_in_quoted_stringcCs#d}|jtj|�d�dS(NuFoo
	Bar <foo@example.com>uFoo Barufoo@example.com(uFoo Barufoo@example.com(uassertEqualuutilsu	parseaddr(uselfux((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_multiline_from_comment�su-TestMiscellaneous.test_multiline_from_commentcCs|jtjd�d�dS(NuA Silly; Personuperson@dom.ainu""A Silly; Person" <person@dom.ain>(uA Silly; Personuperson@dom.ain(uassertEqualuutilsu
formataddr(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_quote_dump�su!TestMiscellaneous.test_quote_dumpcCs�|j}|j}t�}t�}||d�||d�||d�|d|�|d|�|d|�||d�||d�||d�|d|�|d|�|d|�|||�|||�dS(Nuus-asciiuUS-ASCIIuUs-AsCiIuusasciiuUSASCIIuUsAsCiI(uassertEqualuassertNotEqualuCharset(uselfuequneucset1ucset2((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_charset_richcomparisons�s$				












u.TestMiscellaneous.test_charset_richcomparisonscCs/|j}|tjddg�ddg�dS(	Nuaperson@dom.ain (Al Person)uBud Person <bperson@dom.ain>u	Al Personuaperson@dom.ainu
Bud Personubperson@dom.ain(u	Al Personuaperson@dom.ain(u
Bud Personubperson@dom.ain(uassertEqualuutilsugetaddresses(uselfueq((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_getaddressess
		u#TestMiscellaneous.test_getaddressescCsm|j}|tjdg�dg�|tjdg�d	d
dg�|tjddg�dd
g�dS(Nufoo: ;uu	[]*-- =~$u*--u#"Jason R. Mastaler" <jason@dom.ain>uJason R. Mastaleru
jason@dom.ain(uu(uu(uu(uu*--(uu(uJason R. Mastaleru
jason@dom.ain(uassertEqualuutilsugetaddresses(uselfueq((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_getaddresses_nastys				u)TestMiscellaneous.test_getaddresses_nastycCs4|j}tjdg�}||ddd�dS(u(Test proper handling of a nested commentu%User ((nested comment)) <foo@bar.com>iiufoo@bar.comN(uassertEqualuutilsugetaddresses(uselfuequaddrs((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu"test_getaddresses_embedded_comment"s	u4TestMiscellaneous.test_getaddresses_embedded_commentcCs?|j}t�}|jdddd�||j�d�dS(Nucontent-dispositionu
attachmentufilenameufoo\wacky"name(uassertEqualuMessageu
add_headeruget_filename(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_utils_quote_unquote(s
		u*TestMiscellaneous.test_utils_quote_unquotecCs&td�}|j|j�d�dS(Nu
not a charsetubase64(uCharsetuassertEqualuget_body_encoding(uselfucharset((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu)test_get_body_encoding_with_bogus_charset/su;TestMiscellaneous.test_get_body_encoding_with_bogus_charsetcCst|j}t�}d|d<||dd�|j�}|t|�d�||dd�t|d�}||j�d�|jdd	|�||j�d
�||jdd�d�||dd�t�}d
|d<|j�}|t|�d�||dd�t|d�}||j�t	j
�|jdd	|�||j�d�||dd�dS(Nutext/plain; charset=UTF-8uContent-Typeucontent-typeiiuutf-8ubase64shello worlducharsetuaGVsbG8gd29ybGQ=
udecodeucontent-transfer-encodingutext/plain; charset="US-ASCII"uus-asciiuhello worldu7bitT(uassertEqualuMessageuget_charsetsulenuCharsetuget_body_encodinguset_payloaduget_payloaduTrueuencodersuencode_7or8bit(uselfuequmsgucharsetsucharset((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu-test_get_body_encoding_with_uppercase_charset3s.		
	
u?TestMiscellaneous.test_get_body_encoding_with_uppercase_charsetcCs8td�}td�}|j|j�|j��dS(Nuus-asciiuUS-ASCII(uCharsetuassertEqualuget_body_encoding(uselfulcuuc((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_charsets_case_insensitiveMsu0TestMiscellaneous.test_charsets_case_insensitivecCsH|j}|jd�}t�}tj||�||j�d�dS(Nu
msg_43.txtuBmultipart/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
(undiffAssertEqualu_msgobjuStringIOu	iteratorsu
_structureugetvalue(uselfuequmsgusfp((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu1test_partial_falls_inside_message_delivery_statusRs		uCTestMiscellaneous.test_partial_falls_inside_message_delivery_statuscCs-|jtjjdd�dd�d�dS(Nudomainutestdomain-stringiu@testdomain-string>i��(uassertEqualuemailuutilsu
make_msgid(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_make_msgid_domain|su(TestMiscellaneous.test_make_msgid_domainc	Cs�tddd��}|j�}WdQX|jdd�}tj|�}t�}tjj|�}|j|�|j	|j
�|�dS(Nu
msg_26.txtunewlineu
u
(uopenfileureadureplaceuemailumessage_from_stringuStringIOu	generatoru	GeneratoruflattenuassertEqualugetvalue(uselfufumsgtxtu	msgtxt_nlumsgusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_Generator_linend�s	
u'TestMiscellaneous.test_Generator_linendc
Cs�tddd��}|j�}WdQX|jdd�}tj|�}t�}tjj|�}|j|dd�|j	|j
�jd�|�dS(Nu
msg_26.txtunewlineu
u
ulinesepuascii(uopenfileureadureplaceuemailumessage_from_stringuBytesIOu	generatoruBytesGeneratoruflattenuassertEqualugetvalueudecode(uselfufumsgtxtu	msgtxt_nlumsgusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_BytesGenerator_linend�s	u,TestMiscellaneous.test_BytesGenerator_linendc
Cs�tdd��}|j�}WdQX|jdd�}|jdd�}tj|�}t�}tjj|�}|j|dd�|j	|j
�|�dS(	Nu
msg_26.txturbswith attachmentsfo�s
s
ulinesepu
(uopenfileureadureplaceuemailumessage_from_bytesuBytesIOu	generatoruBytesGeneratoruflattenuassertEqualugetvalue(uselfufumsgtxtu	msgtxt_nlumsgusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu)test_BytesGenerator_linend_with_non_ascii�s	u;TestMiscellaneous.test_BytesGenerator_linend_with_non_asciiN(1u__name__u
__module__u__qualname__utest_message_from_stringutest_message_from_fileu#test_message_from_string_with_classu!test_message_from_file_with_classu.test_custom_message_does_not_require_argumentsutest__all__utest_formatdateutest_formatdate_localtimeutest_formatdate_usegmtu/test_parsedate_returns_None_for_invalid_stringsutest_parsedate_compactutest_parsedate_no_dayofweeku#test_parsedate_compact_no_dayofweeku.test_parsedate_no_space_before_positive_offsetu.test_parsedate_no_space_before_negative_offsetu%test_parsedate_accepts_time_with_dotsu+test_parsedate_acceptable_to_time_functionsutest_mktime_tzutest_parsedate_y2kutest_parseaddr_emptyutest_noquote_dumputest_escape_dumputest_escape_backslashesutest_quotes_unicode_namesu$test_accepts_any_charset_like_objectu-test_invalid_charset_like_object_raises_erroru!test_unicode_address_raises_errorutest_name_with_dotu2test_parseaddr_preserves_quoted_pairs_in_addressesu-test_parseaddr_preserves_spaces_in_local_partu6test_formataddr_does_not_quote_parens_in_quoted_stringutest_multiline_from_commentutest_quote_dumputest_charset_richcomparisonsutest_getaddressesutest_getaddresses_nastyu"test_getaddresses_embedded_commentutest_utils_quote_unquoteu)test_get_body_encoding_with_bogus_charsetu-test_get_body_encoding_with_uppercase_charsetutest_charsets_case_insensitiveu1test_partial_falls_inside_message_delivery_statusutest_make_msgid_domainutest_Generator_linendutest_BytesGenerator_linendu)test_BytesGenerator_linend_with_non_ascii(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestMiscellaneous�
s\



			
*uTestMiscellaneouscBsD|EeZdZdd�Zdd�Zdd�Zdd�Zd	S(
u
TestIteratorsc
Cs�|j}|j}|jd�}tj|�}t|�}|t|�d�|tj|�|j	��|jd�}tj|�}t|�}|t|�d�t
d��#}|tj|�|j��WdQXdS(Nu
msg_01.txtiu
msg_02.txti+u
msg_19.txt(uassertEqualundiffAssertEqualu_msgobju	iteratorsubody_line_iteratorulistulenuEMPTYSTRINGujoinuget_payloaduopenfileuread(uselfuequnequmsguitulinesufp((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_body_line_iterator�s		u%TestIterators.test_body_line_iteratorcCs�|j}|jd�}tj|d�}g}d}x+|D]#}|d7}|j|j��q=W||d�|tj|�d�dS(Nu
msg_04.txtutextiiiu`a simple kind of mirror
to reflect upon our own
a simple kind of mirror
to reflect upon our own
(uassertEqualu_msgobju	iteratorsutyped_subpart_iteratoruappenduget_payloaduEMPTYSTRINGujoin(uselfuequmsguitulinesusubpartsusubpart((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_typed_subpart_iterator�s	


u)TestIterators.test_typed_subpart_iteratorcCs�|j}|jd�}tj|dd�}g}d}x+|D]#}|d7}|j|j��q@W||d�|tj|�d�dS(Nu
msg_03.txtutextuplainiiu%
Hi,

Do you like this message?

-Me
(uassertEqualu_msgobju	iteratorsutyped_subpart_iteratoruappenduget_payloaduEMPTYSTRINGujoin(uselfuequmsguitulinesusubpartsusubpart((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu(test_typed_subpart_iterator_default_type�s	


u6TestIterators.test_typed_subpart_iterator_default_typec	Csddddddddg}ddlm}m}|�}g}d}xz|D]r\}}|j|�||7}d}	x6|j�}
|
|kr�Pn|j|
�|	d7}	q||j||	�qPW|jt|�|�|jdjd
d�|D��dj|��dS(u�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.
        ua
 
iubiuc
iuud
ue
u
fu
(uBufferedSubFileuNeedMoreDatacSsg|]\}}|�qS(((u.0uilun((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
<listcomp>�s	u0TestIterators.test_pushCR_LF.<locals>.<listcomp>N(ua
 
i(ubi(uc
i(ui(ud
i(ue
i(u
fi(u
i(	uemail.feedparseruBufferedSubFileuNeedMoreDataupushureadlineuappenduassertEqualulenujoin(uselfuimtuBufferedSubFileuNeedMoreDataubsfuomuntuilunun1uol((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_pushCR_LF�s2		



uTestIterators.test_pushCR_LFN(u__name__u
__module__u__qualname__utest_body_line_iteratorutest_typed_subpart_iteratoru(test_typed_subpart_iterator_default_typeutest_pushCR_LF(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
TestIterators�su
TestIteratorscBs�|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�ZdZ
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS(uTestParsersc	Cs�|j}td��}t�j|�}WdQX||dd�||dd�||j�d�|j|j��|j|j�t	�dS(Nu
msg_02.txtufromuppp-request@zzz.orgutouppp@zzz.orgumultipart/mixed(
uassertEqualuopenfileuHeaderParseruparseuget_content_typeuassertFalseuis_multipartuassertIsInstanceuget_payloadustr(uselfuequfpumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_parser
s	uTestParsers.test_header_parserc
Cs�|j}tdd��}tjj�j|�}WdQX||dd�||dd�||j�d�|j|j��|j	|j
�t�|j	|j
dd	�t
�dS(
Nu
msg_02.txturbufromuppp-request@zzz.orgutouppp@zzz.orgumultipart/mixedudecodeT(uassertEqualuopenfileuemailuparseruBytesHeaderParseruparseuget_content_typeuassertFalseuis_multipartuassertIsInstanceuget_payloadustruTrueubytes(uselfuequfpumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_bytes_header_parser
s	u$TestParsers.test_bytes_header_parsercCsQ|j}tjd�}||dd�||dd�||j�d�dS(Nu�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
usubjectu!the next line has a space on it
 u
message-iduspamuHere's the message body
(uassertEqualuemailumessage_from_stringuget_payload(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_whitespace_continuation
s			u(TestParsers.test_whitespace_continuationcCsQ|j}tjd�}||dd�||dd�||j�d�dS(Nu�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
usubjectu!the next line has a space on it
 u
message-iduspamuHere's the message body
(uassertEqualuemailumessage_from_stringuget_payload(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu(test_whitespace_continuation_last_header)
s			u4TestParsers.test_whitespace_continuation_last_headerc	Cs�|j}tddd��}t�j|�}WdQX|t|j��d�|jd�}||j�d�||j�d�|jd�}||j�d	�dS(
Nu
msg_26.txtunewlineu
iiu
text/plainu!Simple email with attachment.

iuapplication/riscos(uassertEqualuopenfileuParseruparseulenuget_payloaduget_content_type(uselfuequfpumsgupart1upart2((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_crlf_separation;
s	u TestParsers.test_crlf_separationc
Csxtddd��}|j�}WdQXtj|�}t�}t|�}|j|dd�|j|j�|�dS(Nu
msg_26.txtunewlineu
ulinesepu
(	uopenfileureaduemailumessage_from_stringuStringIOu	GeneratoruflattenuassertEqualugetvalue(uselfufputextumsgusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_crlf_flattenF
s	uTestParsers.test_crlf_flattenc		Cs�|j}|j}td��}tj|�}WdQX||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(	Nu
msg_28.txtiiiumessage/rfc822u
text/plainu
message 1
u
message 2
(	uassertEqualundiffAssertEqualuopenfileuemailumessage_from_fileuis_multipartulenuget_payloaduget_content_type(	uselfuequnequfpumsgupart1upart1aupart2upart2a((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu-test_multipart_digest_with_extra_mime_headersR
s,		u9TestParsers.test_multipart_digest_with_extra_mime_headerscCs?dddg}tjtj|��}|j|dd�dS(Nu$From: Andrew Person <aperson@dom.ainu
Subject: Testu%Date: Tue, 20 Aug 2002 16:43:45 +1000udateuTue, 20 Aug 2002 16:43:45 +1000(uemailumessage_from_stringuNLujoinuassertEqual(uselfulinesumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_three_linesq
s
	uTestParsers.test_three_linescCsd|j}d}d}d||f}tj|�}||jd�|�||jd�|�dS(Nutextu	more textu'Header: %s
Next-Header: %s

Body

uHeaderuNext-Header(uassertEqualuemailumessage_from_stringuget(uselfuequvalue1uvalue2umumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu3test_strip_line_feed_and_carriage_return_in_headersy
s	
u?TestParsers.test_strip_line_feed_and_carriage_return_in_headerscCsq|j}d}tj|�}|t|�d�|tdd�|D��dddg�||j�d�dS(	Nu(>From: foo
From: bar
!"#QUX;~: zoo

bodyicss|]}|VqdS(N((u.0ufield((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu	<genexpr>�
su9TestParsers.test_rfc2822_header_syntax.<locals>.<genexpr>u!"#QUX;~u>FromuFromubody(uassertEqualuemailumessage_from_stringulenusorteduget_payload(uselfuequmumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2822_header_syntax�
s	)u&TestParsers.test_rfc2822_header_syntaxcCs;|j}d}tj|�}|t|j��d�dS(Nu<>From foo@example.com 11:25:53
From: bar
!"#QUX;~: zoo

bodyi(uassertEqualuemailumessage_from_stringulenukeys(uselfuequmumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu(test_rfc2822_space_not_allowed_in_header�
s	u4TestParsers.test_rfc2822_space_not_allowed_in_headercCsa|j}d}tj|�}|j�}|j�||dddg�||j�d�dS(Nu7A: first header
B: second header
CC: third header

bodyuAuBuCCubody(uassertEqualuemailumessage_from_stringukeysusortuget_payload(uselfuequmumsguheaders((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_rfc2822_one_character_header�
s	
u-TestParsers.test_rfc2822_one_character_headercCs>d}tj|�}|j|jd�j�jd��dS(Nu�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--
iu
(uemailumessage_from_stringu
assertTrueuget_payloaduendswith(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_CRLFLF_at_end_of_part�
su&TestParsers.test_CRLFLF_at_end_of_partN(u__name__u
__module__u__qualname__utest_header_parserutest_bytes_header_parserutest_whitespace_continuationu(test_whitespace_continuation_last_headerutest_crlf_separationutest_crlf_flattenuNoneumaxDiffu-test_multipart_digest_with_extra_mime_headersutest_three_linesu3test_strip_line_feed_and_carriage_return_in_headersutest_rfc2822_header_syntaxu(test_rfc2822_space_not_allowed_in_headeru!test_rfc2822_one_character_headerutest_CRLFLF_at_end_of_part(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestParsers�s
	uTestParserscBs?|EeZdZejd�Zdd�Zdd�Zdd�Zdd	�Z	d
d�Z
dd
�Zd_Zdj
dd�eD��djd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zejd4�jd�Zd5d6�Zd7d8�Zejd9�Zd:d;�Zd<d=�Z d>d?�Z!ej"d�Z#d@ge#dAdB�<dj
e#�Z#dCdD�Z$ejdE�jdF�Z%ejdG�Z&dHdI�Z'dJdK�Z(dLdM�Z)dNdO�Z*dPdQ�Z+dRdS�Z,dTdU�Z-dVZ/dVS(`uTest8BitBytesHandlingu�        From: foo@bar.com
        To: baz
        Mime-Version: 1.0
        Content-Type: text/plain; charset={charset}
        Content-Transfer-Encoding: {cte}

        {bodyline}
        cCsx|jjdddddd�jd�}tj|�}|j|j�d�|j|jdd	�djd��dS(
Nucharsetuutf-8ucteu8bitubodylineupöstalupöstal
udecodeT(ubodytest_msguformatuencodeuemailumessage_from_bytesuassertEqualuget_payloaduTrue(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_known_8bit_CTE�
su)Test8BitBytesHandling.test_known_8bit_CTEcCsx|jjdddddd�jd�}tj|�}|j|j�d�|j|jd	d�d
jd��dS(Nucharsetunotavalidcharsetucteu8bitubodylineupöstaluutf-8up��stal
udecodeupöstal
T(ubodytest_msguformatuencodeuemailumessage_from_bytesuassertEqualuget_payloaduTrue(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_unknown_8bit_CTE�
su+Test8BitBytesHandling.test_unknown_8bit_CTEcCsx|jjdddddd�jd�}tj|�}|j|j�d�|j|jdd
�d	jd��dS(Nucharsetuutf-8ucteuquoted-printableubodylineup=C3=B6stálu
p=C3=B6stál
udecodeu	pöstál
T(ubodytest_msguformatuencodeuemailumessage_from_bytesuassertEqualuget_payloaduTrue(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_8bit_in_quopri_body�
s
u.Test8BitBytesHandling.test_8bit_in_quopri_bodycCsx|jjdddddd�jd�}tj|�}|j|j�d�|j|jd	d�d
jd��dS(Nucharsetuasciiucteuquoted-printableubodylineup=C3=B6stáluutf-8up=C3=B6st��l
udecodeu	pöstál
T(ubodytest_msguformatuencodeuemailumessage_from_bytesuassertEqualuget_payloaduTrue(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu.test_invalid_8bit_in_non_8bit_cte_uses_replace�
suDTest8BitBytesHandling.test_invalid_8bit_in_non_8bit_cte_uses_replacecCs||jjdddddd�jd�}tj|�}|j|jdd
�djd��|j|j	d	t
j�dS(Nucharsetuutf-8ucteubase64ubodylineu
cMO2c3RhbAá=udecodeupöstaliT(ubodytest_msguformatuencodeuemailumessage_from_bytesuassertEqualuget_payloaduTrueuassertIsInstanceudefectsuerrorsuInvalidBase64CharactersDefect(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_8bit_in_base64_body�
su.Test8BitBytesHandling.test_8bit_in_base64_bodycCsb|jjdddddd�jd�}tj|�}|j|jdd	�djd��dS(
Nucharsetuutf-8ucteuuuencodeubodylineu
<,.V<W1A; á udecodeu<,.V<W1A; á 
T(ubodytest_msguformatuencodeuemailumessage_from_bytesuassertEqualuget_payloaduTrue(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_8bit_in_uuencode_bodysu0Test8BitBytesHandling.test_8bit_in_uuencode_bodyuFrom: foo@bar.comuFromufoo@bar.comuTo: bázuTou=?unknown-8bit?q?b=C3=A1z?=uVSubject: Maintenant je vous présente mon collègue, le pouf célèbre
	Jean de BaddieuSubjectu�=?unknown-8bit?q?Maintenant_je_vous_pr=C3=A9sente_mon_coll=C3=A8gue=2C_le_pouf_c=C3=A9l=C3=A8bre?=
 =?unknown-8bit?q?_Jean_de_Baddie?=uFrom: göstu=?unknown-8bit?b?Z8O2c3Q=?=u
cCsg|]\}}|�qS(((u.0usrcu_((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
<listcomp>s	u Test8BitBytesHandling.<listcomp>u
Yes, they are flying.
uutf-8cCsOtj|j�}|jt|jd��d�|jt|d�d�dS(Nutoub��z(uemailumessage_from_bytesuheadertest_msguassertEqualustruget(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_8bit_headersu*Test8BitBytesHandling.test_get_8bit_headercCsNtj|j�}|jt|�tjd�jdd�|jD���dS(Nu�                            From: {}
                            To: {}
                            Subject: {}
                            From: {}

                            Yes, they are flying.
                            cSs g|]\}}|d�qS(i((u.0u_uexpected((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
<listcomp>*s	uATest8BitBytesHandling.test_print_8bit_headers.<locals>.<listcomp>(	uemailumessage_from_bytesuheadertest_msguassertEqualustrutextwrapudedentuformatuheadertest_headers(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_print_8bit_headers s
u-Test8BitBytesHandling.test_print_8bit_headerscCsEtj|j�}|jdd�|j�D�ddddg�dS(NcSsg|]}t|��qS((ustr(u.0ux((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
<listcomp>/s	uGTest8BitBytesHandling.test_values_with_8bit_headers.<locals>.<listcomp>ufoo@bar.comub��zu]Maintenant je vous pr��sente mon coll��gue, le pouf c��l��bre
	Jean de Baddieu	g��st(uemailumessage_from_bytesuheadertest_msguassertListEqualuvalues(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_values_with_8bit_headers-su3Test8BitBytesHandling.test_values_with_8bit_headerscCsEtj|j�}|jdd�|j�D�d
ddd
g�dS(NcSs.g|]$\}}t|�t|�f�qS((ustr(u.0uxuy((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
<listcomp>:s	uFTest8BitBytesHandling.test_items_with_8bit_headers.<locals>.<listcomp>uFromufoo@bar.comuToub��zuSubjectu]Maintenant je vous pr��sente mon coll��gue, le pouf c��l��bre
	Jean de Baddieu	g��st(uFromufoo@bar.com(uToub��z(uSubjectu]Maintenant je vous pr��sente mon coll��gue, le pouf c��l��bre
	Jean de Baddie(uFromu	g��st(uemailumessage_from_bytesuheadertest_msguassertListEqualuitems(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_items_with_8bit_headers8su2Test8BitBytesHandling.test_items_with_8bit_headerscCsBtj|j�}|jdd�|jd�D�ddg�dS(NcSsg|]}t|��qS((ustr(u.0ux((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
<listcomp>Fs	uHTest8BitBytesHandling.test_get_all_with_8bit_headers.<locals>.<listcomp>ufromufoo@bar.comu	g��st(uemailumessage_from_bytesuheadertest_msguassertListEqualuget_all(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_all_with_8bit_headersDsu4Test8BitBytesHandling.test_get_all_with_8bit_headerscCsgtjtjd�jd��}|j|j�d�|j|j�d�|j|j�d�dS(NuA            Content-Type: text/pl§in; charset=utf-8
            ulatin-1utext/pl�inutextupl�in(	uemailumessage_from_bytesutextwrapudedentuencodeuassertEqualuget_content_typeuget_content_maintypeuget_content_subtype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_content_type_with_8bitJs
u5Test8BitBytesHandling.test_get_content_type_with_8bitcCstjdjd��}|j|jdd�d
ddg�|j|jddd�d�|j|jddd�d�dS(Nu(X-Header: foo=§ne; b§r=two; baz=three
ulatin-1uheaderux-headerufoou�neub�rutwoubazuthreeuFooub§r(ufoou�ne(ub�rutwo(ubazuthree(uemailumessage_from_bytesuencodeuassertEqualu
get_paramsu	get_paramuNone(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_params_with_8bitSsu/Test8BitBytesHandling.test_get_params_with_8bitcCs>tjtjd�jd��}|j|jd�d�dS(Nun            Content-Type: text/plain; charset=us-ascii;
             title*=us-ascii'en'This%20is%20not%20f§nulatin-1utitleuus-asciiuenuThis is not f�n(uus-asciiuenuThis is not f�n(uemailumessage_from_bytesutextwrapudedentuencodeuassertEqualu	get_param(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_get_rfc2231_params_with_8bit]s
	u7Test8BitBytesHandling.test_get_rfc2231_params_with_8bitcCsNtjtjd�jd��}|jdd�|j|jd�d�dS(Nun            Content-Type: text/plain; charset=us-ascii;
             title*=us-ascii'en'This%20is%20not%20f§nulatin-1utitleutest(uemailumessage_from_bytesutextwrapudedentuencodeu	set_paramuassertEqualu	get_param(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_set_rfc2231_params_with_8bites
	u7Test8BitBytesHandling.test_set_rfc2231_params_with_8bitcCsatjtjd�jd��}|jd�|j|jd�d�|j|j	�d�dS(Nun            Content-Type: text/plain; charset=us-ascii;
             title*=us-ascii'en'This%20is%20not%20f§nulatin-1utitleutext(
uemailumessage_from_bytesutextwrapudedentuencodeu	del_paramuassertEqualu	get_paramuNoneuget_content_maintype(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_del_rfc2231_params_with_8bitms	
u7Test8BitBytesHandling.test_del_rfc2231_params_with_8bitcCsWtjtjd�jd��}|j|j�d�|j|jdd�d�dS(Nu�            Content-Transfer-Encoding: b§se64
            Content-Type: text/plain; charset=latin-1

            payload
            ulatin-1upayload
udecodespayload
T(uemailumessage_from_bytesutextwrapudedentuencodeuassertEqualuget_payloaduTrue(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu%test_get_payload_with_8bit_cte_headervsu;Test8BitBytesHandling.test_get_payload_with_8bit_cte_headeru0        From: foo@bar.com
        To: báz
        Subject: Maintenant je vous présente mon collègue, le pouf célèbre
        	Jean de Baddie
        Mime-Version: 1.0
        Content-Type: text/plain; charset="utf-8"
        Content-Transfer-Encoding: 8bit

        Да, они летят.
        cCsQtj|j�}t�}tjj|�j|�|j|j�|j�dS(N(	uemailumessage_from_bytesunon_latin_bin_msguBytesIOu	generatoruBytesGeneratoruflattenuassertEqualugetvalue(uselfumsguout((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_bytes_generator�s	u*Test8BitBytesHandling.test_bytes_generatorcCsKtjj�}t�}tjj|�j|�|j|j�d�dS(Ns
(	uemailumessageuMessageuBytesIOu	generatoruBytesGeneratoruflattenuassertEqualugetvalue(uselfumsguout((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu&test_bytes_generator_handles_None_body�s	u<Test8BitBytesHandling.test_bytes_generator_handles_None_bodyu�        From: foo@bar.com
        To: =?unknown-8bit?q?b=C3=A1z?=
        Subject: =?unknown-8bit?q?Maintenant_je_vous_pr=C3=A9sente_mon_coll=C3=A8gue?=
         =?unknown-8bit?q?=2C_le_pouf_c=C3=A9l=C3=A8bre?=
         =?unknown-8bit?q?_Jean_de_Baddie?=
        Mime-Version: 1.0
        Content-Type: text/plain; charset="utf-8"
        Content-Transfer-Encoding: base64

        0JTQsCwg0L7QvdC4INC70LXRgtGP0YIuCg==
        cCsQtj|j�}t�}tjj|�j|�|j|j�|j	�dS(N(
uemailumessage_from_bytesunon_latin_bin_msguStringIOu	generatoru	GeneratoruflattenuassertEqualugetvalueu non_latin_bin_msg_as7bit_wrapped(uselfumsguout((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_generator_handles_8bit�s	u1Test8BitBytesHandling.test_generator_handles_8bitcCs�tj|j�}t�}t|�j|�|j�}tt��j|�t�}t|�j|�|j	|j�|�dS(N(
uemailumessage_from_bytesunon_latin_bin_msguBytesIOuBytesGeneratoruflattenugetvalueu	GeneratoruStringIOuassertEqual(uselfumsguoutu
orig_value((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu;test_str_generator_should_not_mutate_msg_when_handling_8bit�s		uQTest8BitBytesHandling.test_str_generator_should_not_mutate_msg_when_handling_8bitcCs�tj|j�}t�}tjj|�j|dd�|j�j	d�}|j
|dj	�dd�|j
dj|dd��|j�dS(Nuunixfroms
isFromiT(uemailumessage_from_bytesunon_latin_bin_msguBytesIOu	generatoruBytesGeneratoruflattenuTrueugetvalueusplituassertEqualujoin(uselfumsguoutulines((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu#test_bytes_generator_with_unix_from�s	u9Test8BitBytesHandling.test_bytes_generator_with_unix_fromukSubject: =?unknown-8bit?q?Maintenant_je_vous_pr=C3=A9sente_mon_coll=C3=A8gue=2C_le_pouf_c=C3=A9l=C3=A8bre?=iicCs�d}|jt|�t|d��}|j|j�WdQXt|d��}tjj�j|�}WdQX|j	t
|�|j�dS(Nutest.msguwburb(u
addCleanupuunlinkuopenuwriteunon_latin_bin_msguemailuparseruBytesParseruparseuassertEqualustrunon_latin_bin_msg_as7bit(uselfufnutestfileum((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_message_from_binary_file�su3Test8BitBytesHandling.test_message_from_binary_fileu        From: foo@bar.com
        To: Dinsdale
        Subject: Nudge nudge, wink, wink
        Mime-Version: 1.0
        Content-Type: text/plain; charset="latin-1"
        Content-Transfer-Encoding: 8bit

        oh là là, know what I mean, know what I mean?
        ulatin-1u         From: foo@bar.com
        To: Dinsdale
        Subject: Nudge nudge, wink, wink
        Mime-Version: 1.0
        Content-Type: text/plain; charset="iso-8859-1"
        Content-Transfer-Encoding: quoted-printable

        oh l=E0 l=E0, know what I mean, know what I mean?
        cCs/tj|j�}|jt|�|j�dS(N(uemailumessage_from_bytesu
latin_bin_msguassertEqualustrulatin_bin_msg_as7bit(uselfum((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu:test_string_generator_reencodes_to_quopri_when_appropriate�suPTest8BitBytesHandling.test_string_generator_reencodes_to_quopri_when_appropriatecCs^tj|j�}t�}tjj|�j|�|j|j�|jj	d�d�dS(Nulatin-1u
(
uemailumessage_from_bytesu
latin_bin_msguStringIOu	generatoruDecodedGeneratoruflattenuassertEqualugetvalueudecode(uselfumuout((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu)test_decoded_generator_emits_unicode_body�s
	u?Test8BitBytesHandling.test_decoded_generator_emits_unicode_bodycCs|tjj�}xAtdt|j�d�D]$}|j|j||d��q+W|j�}|jt	|�|j
�dS(Nii
(uemailu
feedparseruBytesFeedParserurangeulenu
latin_bin_msgufeeducloseuassertEqualustrulatin_bin_msg_as7bit(uselfubfpuium((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_bytes_feedparser�s
""u+Test8BitBytesHandling.test_bytes_feedparserc
Cs{tdd��}|j�}WdQXtj|�}t�}tjj|�}|j|dd�|j|j	�|�dS(Nu
msg_26.txturbulinesepu
(
uopenfileureaduemailumessage_from_bytesuBytesIOu	generatoruBytesGeneratoruflattenuassertEqualugetvalue(uselfufputextumsgusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_crlf_flatten�s	u'Test8BitBytesHandling.test_crlf_flattencCsitjd�jd�}tj|�}t�}tjj|�}|j|�|j	|j
�|�dS(Nuo            Date: Fri, 18 Mar 2011 17:15:43 +0100
            To: foo@example.com
            From: foodwatch-Newsletter <bar@example.com>
            Subject: Aktuelles zu Japan, Klonfleisch und Smiley-System
            Message-ID: <76a486bee62b0d200f33dc2ca08220ad@localhost.localdomain>
            MIME-Version: 1.0
            Content-Type: multipart/alternative;
                    boundary="b1_76a486bee62b0d200f33dc2ca08220ad"

            --b1_76a486bee62b0d200f33dc2ca08220ad
            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: 8bit

            Guten Tag, ,

            mit großer Betroffenheit verfolgen auch wir im foodwatch-Team die
            Nachrichten aus Japan.


            --b1_76a486bee62b0d200f33dc2ca08220ad
            Content-Type: text/html; charset="utf-8"
            Content-Transfer-Encoding: 8bit

            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                "http://www.w3.org/TR/html4/loose.dtd">
            <html lang="de">
            <head>
                    <title>foodwatch - Newsletter</title>
            </head>
            <body>
              <p>mit gro&szlig;er Betroffenheit verfolgen auch wir im foodwatch-Team
                 die Nachrichten aus Japan.</p>
            </body>
            </html>
            --b1_76a486bee62b0d200f33dc2ca08220ad--

            uutf-8(utextwrapudedentuencodeuemailumessage_from_bytesuBytesIOu	generatoruBytesGeneratoruflattenuassertEqualugetvalue(uselfusourceumsgusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_8bit_multiparts%	
u)Test8BitBytesHandling.test_8bit_multipartcCsat�}td�|d<t�}tjj|�}|j|dd�|j|j�d�dS(Nužluťoučký kůňuSubjectulinesepu
s5Subject: =?utf-8?b?xb5sdcWlb3XEjWvDvSBrxa/FiA==?=

(	uMessageuHeaderuBytesIOuemailu	generatoruBytesGeneratoruflattenuassertEqualugetvalue(uselfumusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu'test_bytes_generator_b_encoding_linesep2s			u=Test8BitBytesHandling.test_bytes_generator_b_encoding_linesepcCsat�}td�|d<t�}tjj|�}|j|dd�|j|j�d�dS(Nužluťoučký kůňuSubjectulinesepu
u5Subject: =?utf-8?b?xb5sdcWlb3XEjWvDvSBrxa/FiA==?=

(	uMessageuHeaderuStringIOuemailu	generatoru	GeneratoruflattenuassertEqualugetvalue(uselfumusug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_generator_b_encoding_linesep>s			u7Test8BitBytesHandling.test_generator_b_encoding_linesepN(uFromufoo@bar.com(uFrom: foo@bar.com(uFromufoo@bar.com(uTou=?unknown-8bit?q?b=C3=A1z?=(uTo: báz(uTou=?unknown-8bit?q?b=C3=A1z?=(uSubjectu�=?unknown-8bit?q?Maintenant_je_vous_pr=C3=A9sente_mon_coll=C3=A8gue=2C_le_pouf_c=C3=A9l=C3=A8bre?=
 =?unknown-8bit?q?_Jean_de_Baddie?=(uVSubject: Maintenant je vous présente mon collègue, le pouf célèbre
	Jean de Baddie(uSubjectu�=?unknown-8bit?q?Maintenant_je_vous_pr=C3=A9sente_mon_coll=C3=A8gue=2C_le_pouf_c=C3=A9l=C3=A8bre?=
 =?unknown-8bit?q?_Jean_de_Baddie?=(uFromu=?unknown-8bit?b?Z8O2c3Q=?=(uFrom: göst(uFromu=?unknown-8bit?b?Z8O2c3Q=?=((uFrom: foo@bar.com(uFromufoo@bar.com(uTo: báz(uTou=?unknown-8bit?q?b=C3=A1z?=(uVSubject: Maintenant je vous présente mon collègue, le pouf célèbre
	Jean de Baddie(uSubjectu�=?unknown-8bit?q?Maintenant_je_vous_pr=C3=A9sente_mon_coll=C3=A8gue=2C_le_pouf_c=C3=A9l=C3=A8bre?=
 =?unknown-8bit?q?_Jean_de_Baddie?=(uFrom: göst(uFromu=?unknown-8bit?b?Z8O2c3Q=?=(0u__name__u
__module__u__qualname__utextwrapudedentubodytest_msgutest_known_8bit_CTEutest_unknown_8bit_CTEutest_8bit_in_quopri_bodyu.test_invalid_8bit_in_non_8bit_cte_uses_replaceutest_8bit_in_base64_bodyutest_8bit_in_uuencode_bodyuheadertest_headersujoinuencodeuheadertest_msgutest_get_8bit_headerutest_print_8bit_headersutest_values_with_8bit_headersutest_items_with_8bit_headersutest_get_all_with_8bit_headersutest_get_content_type_with_8bitutest_get_params_with_8bitu!test_get_rfc2231_params_with_8bitu!test_set_rfc2231_params_with_8bitu!test_del_rfc2231_params_with_8bitu%test_get_payload_with_8bit_cte_headerunon_latin_bin_msgutest_bytes_generatoru&test_bytes_generator_handles_None_bodyu non_latin_bin_msg_as7bit_wrappedutest_generator_handles_8bitu;test_str_generator_should_not_mutate_msg_when_handling_8bitu#test_bytes_generator_with_unix_fromusplitunon_latin_bin_msg_as7bitutest_message_from_binary_fileu
latin_bin_msgulatin_bin_msg_as7bitu:test_string_generator_reencodes_to_quopri_when_appropriateu)test_decoded_generator_emits_unicode_bodyutest_bytes_feedparserutest_crlf_flattenutest_8bit_multipartu'test_bytes_generator_b_encoding_linesepu!test_generator_b_encoding_linesepuNoneumaxDiff(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTest8BitBytesHandling�
sf				

	
	

	
				
	.uTest8BitBytesHandlingcBs5|EeZdZdZdd�Zddd�ZdS(u BaseTestBytesGeneratorIdempotentc	CsUt|d��}|j�}WdQX|jj|j|�}tj|�}||fS(Nurb(uopenfileureadunormalize_linesep_regexusubublinesepuemailumessage_from_bytes(uselfufilenameufpudataumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu_msgobjQs
u(BaseTestBytesGeneratorIdempotent._msgobjcCsWt�}tjj|dd�}|j|d|d|j�|j||j��dS(Numaxheaderleniuunixfromulinesep(uBytesIOuemailu	generatoruBytesGeneratoruflattenulinesepuassertEqualugetvalue(uselfumsgudatauunixfromubug((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu_idempotentXs	u,BaseTestBytesGeneratorIdempotent._idempotentNF(u__name__u
__module__u__qualname__uNoneumaxDiffu_msgobjuFalseu_idempotent(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu BaseTestBytesGeneratorIdempotentMsu BaseTestBytesGeneratorIdempotentcBs/|EeZdZdZdZejd�ZdS(uTestBytesGeneratorIdempotentNLu
s
s\r\nN(u__name__u
__module__u__qualname__ulinesepublinesepureucompileunormalize_linesep_regex(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestBytesGeneratorIdempotentNL_suTestBytesGeneratorIdempotentNLcBs/|EeZdZdZdZejd�ZdS(u TestBytesGeneratorIdempotentCRLFu
s
s	(?<!\r)\nN(u__name__u
__module__u__qualname__ulinesepublinesepureucompileunormalize_linesep_regex(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu TestBytesGeneratorIdempotentCRLFfsu TestBytesGeneratorIdempotentCRLFcBsD|EeZdZdd�Zdd�Zdd�Zdd�Zd	S(
u
TestBase64cCs�|j}|tjd�ttjddd���x�td�D]�}|dkr\d}nZ|dkrqd}nE|d	kr�d
}n0|dkr�d}n|dkr�d
}nd}|tjd|�|�qAWdS(Nuhelloshelloueoluiiiiiii	iiiux(uassertEqualu
base64mimeu
header_lengthulenubody_encodeurange(uselfuequsizeubsize((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_lenns 						uTestBase64.test_lencCs9|j}|tjd�d�|tjd�d�dS(NusuaGVsbG8=shello(uassertEqualu
base64mimeudecode(uselfueq((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode{s	uTestBase64.test_decodecCs�|j}|tjd�d�|tjd�d�|tjd�d�|tjdddd	�d
�|tjdddd	dd�d
�dS(Nsshellou	aGVsbG8=
shello
u	aGVsbG8K
sxxxx iu
maxlineleni(u�eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IA==
ueolu
u�eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IHh4eHggeHh4eCB4eHh4IHh4eHgg
eHh4eCB4eHh4IA==
(uassertEqualu
base64mimeubody_encode(uselfueq((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode�s	uTestBase64.test_encodecCs{|j}tj}||d�d�||d�d�||d�d�||ddd�d	�||d�d�dS(
Nuhellou=?iso-8859-1?b?aGVsbG8=?=uhello
worldu!=?iso-8859-1?b?aGVsbG8NCndvcmxk?=uhello
worldu!=?iso-8859-1?b?aGVsbG8Kd29ybGQ=?=ucharsetu
iso-8859-2u=?iso-8859-2?b?aGVsbG8=?=(uassertEqualu
base64mimeu
header_encode(uselfuequhe((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_encode�s		uTestBase64.test_header_encodeN(u__name__u
__module__u__qualname__utest_lenutest_decodeutest_encodeutest_header_encode(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
TestBase64ms
u
TestBase64cBsD|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd�d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd�d%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Z d;d<�Z!d=d>�Z"d?d@�Z#dAdB�Z$dCdD�Z%dEdF�Z&dGdH�Z'dIdJ�Z(dKdL�Z)dMdN�Z*dOdP�Z+dQdR�Z,dSdT�Z-d�d�dUdV�Z.dWdX�Z/dYdZ�Z0d[d\�Z1d]d^�Z2d_d`�Z3dadb�Z4dcdd�Z5dedf�Z6dgdh�Z7didj�Z8dkdl�Z9dmdn�Z:dodp�Z;dqdr�Z<dsdt�Z=dudv�Z>dwdx�Z?dydz�Z@d{d|�ZAd}d~�ZBdd��ZCd�d��ZDd�d��ZEd�d��ZFd�S(�u
TestQuopricsttttd�td�d�ttd�td�d�ttd�td�d�dd	�d
D����_�fdd�td
�D��_tttd�td�d���_�jjtd���jjtd���fdd�td
�D��_	dS(NuauziuAuZu0u9css|]}|VqdS(N((u.0uc((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu	<genexpr>�su#TestQuopri.setUp.<locals>.<genexpr>s!*+-/cs%g|]}|�jkr|�qS((uhlit(u.0uc(uself(u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
<listcomp>�s	u$TestQuopri.setUp.<locals>.<listcomp>iu u~u	u=cs%g|]}|�jkr|�qS((ublit(u.0uc(uself(u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
<listcomp>�s	(
ulistuchainurangeuorduhlituhnonublituappenduremoveubnon(uself((uselfu?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyusetUp�s"("uTestQuopri.setUpcCsrx4|jD])}|jtj|�dt|��q
Wx4|jD])}|jtj|�dt|��qAWdS(Nu'Should not be header quopri encoded: %su#Should be header quopri encoded: %s(uhlituassertFalseu
quoprimimeuheader_checkuchruhnonu
assertTrue(uselfuc((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_quopri_header_check�su#TestQuopri.test_quopri_header_checkcCsrx4|jD])}|jtj|�dt|��q
Wx4|jD])}|jtj|�dt|��qAWdS(Nu%Should not be body quopri encoded: %su!Should be body quopri encoded: %s(ublituassertFalseu
quoprimimeu
body_checkuchrubnonu
assertTrue(uselfuc((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_quopri_body_check�su!TestQuopri.test_quopri_body_checkcCsE|j}|tjd�d�|ttjddd��tjd�d�|tjd�d�|ttjddd��tjd�d�x=|jD]2}|tjt|g��dd	t|��q�WxU|jD]J}|t	d
�kr�q�n|tjt|g��ddt|��q�W|tjd
�d�dS(Nshelloiucharsetuxxxi
s
h@e@l@l@o@iiuexpected length 1 for %ru iuexpected length 3 for %rs (
uassertEqualu
quoprimimeu
header_lengthulenu
header_encodeuhlitubytesuchruhnonuord(uselfuequc((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_quopri_len�s$	u!TestQuopri.test_header_quopri_lencCss|j}x0|jD]%}|tjt|g��d�qWx0|jD]%}|tjt|g��d�qFWdS(Nii(uassertEqualublitu
quoprimimeubody_lengthubytesubnon(uselfuequc((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_body_quopri_len�s
	#uTestQuopri.test_body_quopri_lencCsIxBtd�D]4}t|�}|jtjtj|��|�q
WdS(Ni(urangeuchruassertEqualu
quoprimimeuunquoteuquote(uselfuxuc((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_quote_unquote_idempotent�su(TestQuopri.test_quote_unquote_idempotentcCsD|dkrtj|�}ntj||�}|j||�dS(N(uNoneu
quoprimimeu
header_encodeuassertEqual(uselfuheaderuexpected_encoded_headerucharsetuencoded_header((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu_test_header_encode�suTestQuopri._test_header_encodecCs|jdd�dS(Nsu(u_test_header_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_encode_null�su"TestQuopri.test_header_encode_nullcCs|jdd�dS(Nshellou=?iso-8859-1?q?hello?=(u_test_header_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_encode_one_word�su&TestQuopri.test_header_encode_one_wordcCs|jdd�dS(Nshello
worldu=?iso-8859-1?q?hello=0Aworld?=(u_test_header_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_encode_two_lines�s	u'TestQuopri.test_header_encode_two_linescCs|jdd�dS(Nshello�thereu=?iso-8859-1?q?hello=C7there?=(u_test_header_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_encode_non_ascii�s	u'TestQuopri.test_header_encode_non_asciicCs|jdddd�dS(Nshellou=?iso-8859-2?q?hello?=ucharsetu
iso-8859-2(u_test_header_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_encode_alt_charsetsu)TestQuopri.test_header_encode_alt_charsetcCs#tj|�}|j||�dS(N(u
quoprimimeu
header_decodeuassertEqual(uselfuencoded_headeruexpected_decoded_headerudecoded_header((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu_test_header_decodesuTestQuopri._test_header_decodecCs|jdd�dS(Nu(u_test_header_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_decode_nullsu"TestQuopri.test_header_decode_nullcCs|jdd�dS(Nuhello(u_test_header_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_decode_one_wordsu&TestQuopri.test_header_decode_one_wordcCs|jdd�dS(Nu
hello=0Aworlduhello
world(u_test_header_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_decode_two_linessu'TestQuopri.test_header_decode_two_linescCs|jdd�dS(Nu
hello=C7thereuhelloÇthere(u_test_header_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_decode_non_asciisu'TestQuopri.test_header_decode_non_asciicCs%|jtjdd�dd�dS(Nu=30iu0(uassertEqualu
quoprimimeu
header_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_decode_re_bug_18380su*TestQuopri.test_header_decode_re_bug_18380cCsG|dkrtj|�}ntj|d|�}|j||�dS(Nueol(uNoneu
quoprimimeudecodeuassertEqual(uselfuencodeduexpected_decodedueoludecoded((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu_test_decodesuTestQuopri._test_decodecCs|jdd�dS(Nu(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_null_word"su TestQuopri.test_decode_null_wordcCs|jdd�dS(Nu
u
(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_null_line_null_word%su*TestQuopri.test_decode_null_line_null_wordcCs|jdd�dS(Nuhello(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_one_word(suTestQuopri.test_decode_one_wordcCs|jdddd�dS(NuhelloueoluX(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_one_word_eol+su#TestQuopri.test_decode_one_word_eolcCs|jdd�dS(Nuhello
uhello
(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_one_line.suTestQuopri.test_decode_one_linecCs|jdd�dS(Nuhello
(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_one_line_lf1su"TestQuopri.test_decode_one_line_lfcCs|jdd�dS(Nuhello
uhello
(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_one_line_cr4su"TestQuopri.test_decode_one_line_crcCs|jdddd�dS(Nuhello
uhelloXueoluX(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_one_line_nl7su"TestQuopri.test_decode_one_line_nlcCs|jdddd�dS(Nuhello
uhelloXueoluX(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_one_line_crnl:su$TestQuopri.test_decode_one_line_crnlcCs|jdd�dS(Nuhello
worlduhello
world(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_one_line_one_word=su(TestQuopri.test_decode_one_line_one_wordcCs|jdddd�dS(Nuhello
worlduhelloXworldueoluX(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_decode_one_line_one_word_eol@su,TestQuopri.test_decode_one_line_one_word_eolcCs|jdd�dS(Nuhello
world
uhello
world
(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_two_linesCsu TestQuopri.test_decode_two_linescCs|jdddd�dS(Nuhello
world
uhelloXworldXueoluX(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_two_lines_eolFsu$TestQuopri.test_decode_two_lines_eolcCs|jdddd�dS(NuSpami�(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_one_long_lineIsu$TestQuopri.test_decode_one_long_linecCs|jdd�dS(Nu u(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_one_spaceLsu TestQuopri.test_decode_one_spacecCs|jdd�dS(Nu iuu     (u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_multiple_spacesOsu&TestQuopri.test_decode_multiple_spacescCs|jdd�dS(Nuhello    
uhello
(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu$test_decode_one_line_trailing_spacesRsu/TestQuopri.test_decode_one_line_trailing_spacescCs|jdd�dS(Nuhello    
world   
uhello
world
(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu%test_decode_two_lines_trailing_spacesUsu0TestQuopri.test_decode_two_lines_trailing_spacescCs|jdd�dS(Nu=22quoted=20words=22u"quoted words"(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_quoted_wordXsu"TestQuopri.test_decode_quoted_wordcCs|jdd�dS(Nuab=CD=EFuabÍï(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_uppercase_quoting[su(TestQuopri.test_decode_uppercase_quotingcCs|jdd�dS(Nuab=cd=efuabÍï(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_lowercase_quoting^su(TestQuopri.test_decode_lowercase_quotingcCs|jdd�dS(Nusoft line=
breakusoft linebreak(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_soft_line_breakasu&TestQuopri.test_decode_soft_line_breakcCs|jdd�dS(NuA=1,B=A ==> A+B==2(u_test_decode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_decode_false_quotingdsu$TestQuopri.test_decode_false_quotingcCs�i}|dkrd}n
||d<|dkr:d}n
||d<tj||�}|j||�|dks~|dkr�x-|j�D]}|jt|�|�q�WndS(NiLu
maxlinelenu
ueolu
(uNoneu
quoprimimeubody_encodeuassertEqualu
splitlinesuassertLessEqualulen(uselfubodyuexpected_encoded_bodyu
maxlinelenueolukwargsuencoded_bodyuline((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu_test_encodegs	
	
uTestQuopri._test_encodecCs|jdd�dS(Nu(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_null{suTestQuopri.test_encode_nullcCs|jdd�dS(Nu

(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_null_lines~su!TestQuopri.test_encode_null_linescCs|jdd�dS(Nuhello
(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_one_line�suTestQuopri.test_encode_one_linecCs|jdd�dS(Nuhello
uhello
(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_one_line_crlf�su$TestQuopri.test_encode_one_line_crlfcCs|jdddd�dS(Nuhello
uhello
ueolu
(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_one_line_eol�su#TestQuopri.test_encode_one_line_eolcCs,|jdjd�jd�ddd�dS(Nuhelloυ
uutf-8ulatin1u
hello=CF=85
ueolu
(u_test_encodeuencodeudecode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu(test_encode_one_line_eol_after_non_ascii�su3TestQuopri.test_encode_one_line_eol_after_non_asciicCs|jdd�dS(Nu u=20(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_one_space�su TestQuopri.test_encode_one_spacecCs|jdd�dS(Nu 
u=20
(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_one_line_one_space�su)TestQuopri.test_encode_one_line_one_spacecCs|jdd�dS(Nu 
 
u=20
=20
(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_two_lines_one_space�su*TestQuopri.test_encode_two_lines_one_spacecCs|jdd�dS(Nuhello   u
hello  =20(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu$test_encode_one_word_trailing_spaces�su/TestQuopri.test_encode_one_word_trailing_spacescCs|jdd�dS(Nu	hello   
uhello  =20
(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu$test_encode_one_line_trailing_spaces�su/TestQuopri.test_encode_one_line_trailing_spacescCs|jdd�dS(Nuhello  	u
hello  =09(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_encode_one_word_trailing_tab�su,TestQuopri.test_encode_one_word_trailing_tabcCs|jdd�dS(Nu	hello  	
uhello  =09
(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_encode_one_line_trailing_tab�su,TestQuopri.test_encode_one_line_trailing_tabcCs|jdddd�dS(Nu
abcd 
1234uabcd =

1234u
maxlineleni(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu,test_encode_trailing_space_before_maxlinelen�su7TestQuopri.test_encode_trailing_space_before_maxlinelencCs|jdddd�dS(Nu
abcd 
1234uabcd=
=20
1234u
maxlineleni(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu(test_encode_trailing_space_at_maxlinelen�su3TestQuopri.test_encode_trailing_space_at_maxlinelencCs|jdddd�dS(Nu
abcd 
1234uabc=
d=20
1234u
maxlineleni(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu,test_encode_trailing_space_beyond_maxlinelen�su7TestQuopri.test_encode_trailing_space_beyond_maxlinelencCs|jdd�dS(Nu 
iu=20
u
 
 
 
 
 
u=20
=20
=20
=20
=20
(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_whitespace_lines�su'TestQuopri.test_encode_whitespace_linescCs|jdd�dS(Nua = bua =3D b(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_quoted_equals�su$TestQuopri.test_encode_quoted_equalscCs(|jddddddd�dS(NuxidiKu=
i(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_one_long_string�su&TestQuopri.test_encode_one_long_stringcCs0|jddddddddd�dS(Nuxidu
iKu=
i(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_one_long_line�su$TestQuopri.test_encode_one_long_linecCs4|jdddddddddd�dS(Nuxi�u
iiKu=
i2(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_one_very_long_line�su)TestQuopri.test_encode_one_very_long_linecCs|jddddd�dS(	Nu=iu=3D=
iu=3Du
maxlinelenu=====u=3D=
=3D=
=3D=
=3D=
(u_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode_shortest_maxlinelen�su*TestQuopri.test_encode_shortest_maxlinelencCs#|jt|jdddd�dS(Nuu
maxlineleni(uassertRaisesu
ValueErroru_test_encode(uself((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu test_encode_maxlinelen_too_small�su+TestQuopri.test_encode_maxlinelen_too_smallcCs�|j}|tjd�d�|tjd�d�|tjd�d�|tjdddd�d	�|tjddddd
d�d�|tjd
�d
�dS(Nuuhellouhello
worlduhello
worlduxxxx iu
maxlineleni(ujxxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx=
 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxx=
x xxxx xxxx xxxx xxxx=20ueolu
ulxxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx=
 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxx=
x xxxx xxxx xxxx xxxx=20uone line

two line(uassertEqualu
quoprimimeubody_encode(uselfueq((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_encode�s		uTestQuopri.test_encodeN(Gu__name__u
__module__u__qualname__usetUputest_quopri_header_checkutest_quopri_body_checkutest_header_quopri_lenutest_body_quopri_lenutest_quote_unquote_idempotentuNoneu_test_header_encodeutest_header_encode_nullutest_header_encode_one_wordutest_header_encode_two_linesutest_header_encode_non_asciiutest_header_encode_alt_charsetu_test_header_decodeutest_header_decode_nullutest_header_decode_one_wordutest_header_decode_two_linesutest_header_decode_non_asciiutest_header_decode_re_bug_18380u_test_decodeutest_decode_null_wordutest_decode_null_line_null_wordutest_decode_one_wordutest_decode_one_word_eolutest_decode_one_lineutest_decode_one_line_lfutest_decode_one_line_crutest_decode_one_line_nlutest_decode_one_line_crnlutest_decode_one_line_one_wordu!test_decode_one_line_one_word_eolutest_decode_two_linesutest_decode_two_lines_eolutest_decode_one_long_lineutest_decode_one_spaceutest_decode_multiple_spacesu$test_decode_one_line_trailing_spacesu%test_decode_two_lines_trailing_spacesutest_decode_quoted_wordutest_decode_uppercase_quotingutest_decode_lowercase_quotingutest_decode_soft_line_breakutest_decode_false_quotingu_test_encodeutest_encode_nullutest_encode_null_linesutest_encode_one_lineutest_encode_one_line_crlfutest_encode_one_line_eolu(test_encode_one_line_eol_after_non_asciiutest_encode_one_spaceutest_encode_one_line_one_spaceutest_encode_two_lines_one_spaceu$test_encode_one_word_trailing_spacesu$test_encode_one_line_trailing_spacesu!test_encode_one_word_trailing_tabu!test_encode_one_line_trailing_tabu,test_encode_trailing_space_before_maxlinelenu(test_encode_trailing_space_at_maxlinelenu,test_encode_trailing_space_beyond_maxlinelenutest_encode_whitespace_linesutest_encode_quoted_equalsutest_encode_one_long_stringutest_encode_one_long_lineutest_encode_one_very_long_lineutest_encode_shortest_maxlinelenu test_encode_maxlinelen_too_smallutest_encode(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
TestQuopri�s�u
TestQuopricBsD|EeZdZdd�Zdd�Zdd�Zdd�Zd	S(
uTestCharsetcCs7ddlm}y|jd=Wntk
r2YnXdS(Ni(ucharsetufake(uemailucharsetuCHARSETSuKeyError(uselfu
CharsetModule((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutearDown�s

uTestCharset.tearDowncCsm|j}td�}||jd�d�d}|jt|j|�td�}||j|�d�dS(Nuus-asciiuHello World!u¤¢¤¤¤¦¤¨¤ªuutf-8u(=?utf-8?b?wqTCosKkwqTCpMKmwqTCqMKkwqo=?=(uassertEqualuCharsetu
header_encodeuassertRaisesuUnicodeError(uselfuequcus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_codec_encodeable�s	u!TestCharset.test_codec_encodeablecCs�|j}td�}|d|jd��td�}|d|jd��td�}|d|jd��td	�}d
dlm}|jd|jdd�td�}|d|jd��dS(
Nu
iso-8859-1u
hello w=F6rlduhello wörlduutf-8uaGVsbG8gd29ybGQ=
shello worlduus-asciiuhello worldueuc-jpi(ucharsetufake(uassertEqualuCharsetubody_encodeuemailucharsetuadd_charsetuQPuNone(uselfuequcu
CharsetModule((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_body_encode�s	uTestCharset.test_body_encodecCs<td�}|jt|�d�|jtjtd�dS(Nuus-asciiuascÿii(uCharsetuassertEqualustruassertRaisesuerrorsuCharsetError(uselfucharset((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_unicode_charset_namesu%TestCharset.test_unicode_charset_nameN(u__name__u
__module__u__qualname__utearDownutest_codec_encodeableutest_body_encodeutest_unicode_charset_name(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestCharset�suTestCharsetcBs4|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1S(2u
TestHeadercCsL|j}td�}||j�d�|jd�||j�d�dS(NuHello World!u Goodbye World!uHello World!  Goodbye World!(undiffAssertEqualuHeaderuencodeuappend(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_simples
	
uTestHeader.test_simplecCsL|j}td�}||j�d�|jd�||j�d�dS(NuHello World!uGoodbye World!uHello World! Goodbye World!(undiffAssertEqualuHeaderuencodeuappend(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_simple_surprise&s
	
uTestHeader.test_simple_surprisecCs)d}|jt|�|dfg�dS(Nuno decoding needed(uassertEqualu
decode_headeruNone(uselfuh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_needs_no_decoding-su(TestHeader.test_header_needs_no_decodingcCsRtddd�}x9|jdd�jd�D]}|jt|�d�q.WdS(Nu�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.u
maxlineleniLu
splitcharsu u
 (uHeaderuencodeusplituassertLessEqualulen(uselfuhul((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu	test_long1s		"uTestHeader.test_longc
Cs?|j}td�}td�}td�}d}d}d}t||�}|j||�|j||�|jdd�}	||	d	�t|	�}
|t|
�d
�||
d|df�||
d|df�||
d
|jd�df�t|�}||djd��t	t|	��}|||�dS(Nu
iso-8859-1u
iso-8859-2uutf-8s�Die Mieter treten hier ein werden mit einem Foerderband komfortabel den Korridor entlang, an s�dl�ndischen Wandgem�lden vorbei, gegen die rotierenden Klingen bef�rdert. s;Finan�ni metropole se hroutily pod tlakem jejich d�vtipu.. u�正確に言うと翻訳はされていません。一部はドイツ語ですが、あとはでたらめです。実際には「Wenn ist das Nunstuck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput.」と言っています。u
maxlineleniLu=?iso-8859-1?q?Die_Mieter_treten_hier_ein_werden_mit_einem_Foerderband_kom?=
 =?iso-8859-1?q?fortabel_den_Korridor_entlang=2C_an_s=FCdl=FCndischen_Wand?=
 =?iso-8859-1?q?gem=E4lden_vorbei=2C_gegen_die_rotierenden_Klingen_bef=F6r?=
 =?iso-8859-1?q?dert=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?b?IE51bnN0dWNrIGdpdCB1bmQgU2xvdGVybWV5ZXI/IEphISBCZWloZXJodW5k?=
 =?utf-8?b?IGRhcyBPZGVyIGRpZSBGbGlwcGVyd2FsZHQgZ2Vyc3B1dC7jgI3jgajoqIA=?=
 =?utf-8?b?44Gj44Gm44GE44G+44GZ44CC?=iiiis�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.」と言っています。(
undiffAssertEqualuCharsetuHeaderuappenduencodeu
decode_headerulenustrudecodeumake_header(
uselfuequguczuutf8ug_headucz_headu	utf8_headuhuencudecodeduustrunewh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_multilingual7s0	 
uTestHeader.test_multilingualcCs#t�}|j|j�d�dS(Nu(uHeaderuassertEqualuencode(uselfuh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_empty_header_encodevs	u#TestHeader.test_empty_header_encodecCsF|j}t�}||d�|jdtd��||d�dS(Nuufoou
iso-8859-1(undiffAssertEqualuHeaderuappenduCharset(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_header_ctor_default_argszs
		
u(TestHeader.test_header_ctor_default_argscCs�|j}d}t|�}||j�d�|t|�|�t|dd�}||j�d�|t|�|�t|dddd�}||j�|�|t|�|�dS(Nu|A very long line that must get split to something other than at the 76th character boundary to test the non-default behavioru}A very long line that must get split to something other than at the 76th
 character boundary to test the non-default behavioruheader_nameuSubjectu}A very long line that must get split to something other than at the
 76th character boundary to test the non-default behavioru
maxlineleni(undiffAssertEqualuHeaderuencodeustr(uselfuequhstruh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_explicit_maxlinelen�s	u#TestHeader.test_explicit_maxlinelencCs�|j}tdddd�}dd}|j|�|j�}||d�||ttt|����tdddd�}|jdd�|j�}||d�||ttt|����dS(	Nucharsetu
iso-8859-1u
maxlineleniuxxxx u=?iso-8859-1?q?xxx?=
 =?iso-8859-1?q?x_?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?_x?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?x_?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?_x?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?x_?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?_x?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?x_?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?_x?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?x_?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?_x?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?x_?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?_x?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?x_?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?_x?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?x_?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?_x?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?x_?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?_x?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?x_?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?xx?=
 =?iso-8859-1?q?_?=i(u�=?iso-8859-1?q?xxxx_xxxx_xxxx_xxxx_xxx?=
 =?iso-8859-1?q?x_xxxx_xxxx_xxxx_xxxx_?=
 =?iso-8859-1?q?xxxx_xxxx_xxxx_xxxx_xx?=
 =?iso-8859-1?q?xx_xxxx_xxxx_xxxx_xxxx?=
 =?iso-8859-1?q?_xxxx_xxxx_?=(undiffAssertEqualuHeaderuappenduencodeustrumake_headeru
decode_header(uselfuequhuxus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_quopri_splittable�s	

2u!TestHeader.test_quopri_splittablecCs�|j}tdddd�}dd}|j|�|j�}||d�||ttt|����tdddd�}|j|�|j�}||d�||ttt|����dS(	Nucharsetukoi8-ru
maxlineleniuxxxx u�=?koi8-r?b?eHh4?=
 =?koi8-r?b?eCB4?=
 =?koi8-r?b?eHh4?=
 =?koi8-r?b?IHh4?=
 =?koi8-r?b?eHgg?=
 =?koi8-r?b?eHh4?=
 =?koi8-r?b?eCB4?=
 =?koi8-r?b?eHh4?=
 =?koi8-r?b?IHh4?=
 =?koi8-r?b?eHgg?=
 =?koi8-r?b?eHh4?=
 =?koi8-r?b?eCB4?=
 =?koi8-r?b?eHh4?=
 =?koi8-r?b?IHh4?=
 =?koi8-r?b?eHgg?=
 =?koi8-r?b?eHh4?=
 =?koi8-r?b?eCB4?=
 =?koi8-r?b?eHh4?=
 =?koi8-r?b?IHh4?=
 =?koi8-r?b?eHgg?=
 =?koi8-r?b?eHh4?=
 =?koi8-r?b?eCB4?=
 =?koi8-r?b?eHh4?=
 =?koi8-r?b?IHh4?=
 =?koi8-r?b?eHgg?=
 =?koi8-r?b?eHh4?=
 =?koi8-r?b?eCB4?=
 =?koi8-r?b?eHh4?=
 =?koi8-r?b?IHh4?=
 =?koi8-r?b?eHgg?=
 =?koi8-r?b?eHh4?=
 =?koi8-r?b?eCB4?=
 =?koi8-r?b?eHh4?=
 =?koi8-r?b?IA==?=i(u�=?koi8-r?b?eHh4eCB4eHh4IHh4eHggeHh4?=
 =?koi8-r?b?eCB4eHh4IHh4eHggeHh4eCB4?=
 =?koi8-r?b?eHh4IHh4eHggeHh4eCB4eHh4?=
 =?koi8-r?b?IHh4eHggeHh4eCB4eHh4IHh4?=
 =?koi8-r?b?eHggeHh4eCB4eHh4IHh4eHgg?=
 =?koi8-r?b?eHh4eCB4eHh4IA==?=(undiffAssertEqualuHeaderuappenduencodeustrumake_headeru
decode_header(uselfuequhuxus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_base64_splittable�s	

"
u!TestHeader.test_base64_splittablecCsN|j}d}t|�}||dg�t|�}|||j��dS(Nuhello(uhelloN(uassertEqualu
decode_headeruNoneumake_headeruencode(uselfuequsuxuh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_us_ascii_headers	uTestHeader.test_us_ascii_headercCs3|j}t�}|jdd�||d�dS(Nuhellou
iso-8859-1(uassertEqualuHeaderuappend(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_string_charsets		uTestHeader.test_string_charsetcCsQ|j}tdd�}||j�d�tdd�}||j�d�dS(Nupöstaluutf-8u=?utf-8?q?p=C3=B6stal?=u菊地時夫u=?utf-8?b?6I+K5Zyw5pmC5aSr?=(uassertEqualuHeaderuencode(uselfuequh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_utf8_shortest&s
	uTestHeader.test_utf8_shortestcCs�|j}|j}d}|tt|�t�}|t|j|�|jdd�}|tt|dd��|�|j|dd�|t|�|�dS(Ns0Ynwp4dUEbay Auction Semiar- No Charge � Earn Biguutf-8ureplaceuerrors(uassertRaisesuassertEqualuUnicodeErroruHeaderuappendudecodeustr(uselfuraisesuequxuhue((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_bad_8bit_header-s			uTestHeader.test_bad_8bit_headercCsod}|jdd�}t|dtjj�}|jt|�d�|jtjj|�|dfg�dS(Ns0Ynwp4dUEbay Auction Semiar- No Charge � Earn Biguasciiusurrogateescapeucharsetu2Ynwp4dUEbay Auction Semiar- No Charge � Earn Biguunknown-8bit(	udecodeuHeaderuemailucharsetuUNKNOWN8BITuassertEqualustruheaderu
decode_header(uselfuxueuh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_escaped_8bit_header9su#TestHeader.test_escaped_8bit_headercCs]d}t|dtjj�}|jt|�d�|jtjj|�|dfg�dS(Ns0Ynwp4dUEbay Auction Semiar- No Charge � Earn Bigucharsetu2Ynwp4dUEbay Auction Semiar- No Charge � Earn Biguunknown-8bit(uHeaderuemailucharsetuUNKNOWN8BITuassertEqualustruheaderu
decode_header(uselfuxuh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu&test_header_handles_binary_unknown8bitAs
u1TestHeader.test_header_handles_binary_unknown8bitcCs{d}t|dtjj�}tjjtjj|��}|jt|�d�|jtjj|�|dfg�dS(Ns0Ynwp4dUEbay Auction Semiar- No Charge � Earn Bigucharsetu2Ynwp4dUEbay Auction Semiar- No Charge � Earn Biguunknown-8bit(	uHeaderuemailucharsetuUNKNOWN8BITuheaderumake_headeru
decode_headeruassertEqualustr(uselfuxuhuh2((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu+test_make_header_handles_binary_unknown8bitHsu6TestHeader.test_make_header_handles_binary_unknown8bitcCsEtd�}tjj|�}|jd�|jt|�d�dS(Nutestuasciiutest2(uasciiutest2(uHeaderuemailuheaderu
decode_headeruappenduassertEqualustr(uselfuhuchunks((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu0test_modify_returned_list_does_not_change_headerPs
u;TestHeader.test_modify_returned_list_does_not_change_headercCsq|j}t�}|jdd�|jd�|j�}||d�tt|��}||j�|�dS(Nuhellou
iso-8859-1uworldu=?iso-8859-1?q?hello?= world(uassertEqualuHeaderuappenduencodeumake_headeru
decode_header(uselfuequhus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu test_encoded_adjacent_nonencodedVs		

u+TestHeader.test_encoded_adjacent_nonencodedcCsT|j}d}t|�}||ddd	g�t|�}||j�d�dS(
NuGSubject: =?koi8-r?b?8NLP18XSy8EgzsEgxsnOwczYztk=?= =?koi8-r?q?=CA?= zz.s	Subject: s������� � ��������ukoi8-rs zz.u6Subject: =?koi8-r?b?8NLP18XSy8EgzsEgxsnOwczYztnK?= zz.(s	Subject: N(s������� � ��������ukoi8-r(s zz.N(uassertEqualu
decode_headeruNoneumake_headeruencode(uselfuequsupartsuhdr((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_whitespace_keeper`s	u!TestHeader.test_whitespace_keepercCs&|j}d}|tjt|�dS(NuXSubject: =?EUC-KR?B?CSixpLDtKSC/7Liuvsax4iC6uLmwMcijIKHaILzSwd/H0SC8+LCjwLsgv7W/+Mj3I ?=(uassertRaisesuerrorsuHeaderParseErroru
decode_header(uselfuraisesus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_broken_base64_headeris	u$TestHeader.test_broken_base64_headercCs,tddd�}|j|j�d�dS(Nu文ucharsetu	shift_jisu=?iso-2022-jp?b?GyRCSjgbKEI=?=(uHeaderuassertEqualuencode(uselfuh((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_shift_jis_charsetnsu!TestHeader.test_shift_jis_charsetcCs)tjd�}|jt|�d�dS(NuEmptyHeader:uEmptyHeader: 

(uemailumessage_from_stringuassertEqualustr(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_flatten_header_with_no_valuersu,TestHeader.test_flatten_header_with_no_valuecCs-t�}d|d<|jt|�d�dS(Nu   value with leading wsu
SomeHeaderu&SomeHeader:    value with leading ws

(uMessageuassertEqualustr(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu)test_encode_preserves_leading_ws_on_valueys	
u4TestHeader.test_encode_preserves_leading_ws_on_valueN(u__name__u
__module__u__qualname__utest_simpleutest_simple_surpriseutest_header_needs_no_decodingu	test_longutest_multilingualutest_empty_header_encodeutest_header_ctor_default_argsutest_explicit_maxlinelenutest_quopri_splittableutest_base64_splittableutest_us_ascii_headerutest_string_charsetutest_utf8_shortestutest_bad_8bit_headerutest_escaped_8bit_headeru&test_header_handles_binary_unknown8bitu+test_make_header_handles_binary_unknown8bitu0test_modify_returned_list_does_not_change_headeru test_encoded_adjacent_nonencodedutest_whitespace_keeperutest_broken_base64_headerutest_shift_jis_charsetu!test_flatten_header_with_no_valueu)test_encode_preserves_leading_ws_on_value(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
TestHeaders0?E6
	u
TestHeadercBsd|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9S(:uTestRFC2231cCsN|j}|jd�}||jd�d�||jddd	�d
�dS(Nu
msg_29.txtutitleuus-asciiuenu%This is even more ***fun*** isn't it!uunquoteu'"This is even more ***fun*** isn't it!"(uus-asciiuenu%This is even more ***fun*** isn't it!F(uus-asciiuenu'"This is even more ***fun*** isn't it!"(uassertEqualu_msgobju	get_paramuFalse(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_get_param�s	uTestRFC2231.test_get_paramcCs�|j}t�}|jdddd�||jd�d�|jdddddd�||jd�d
�|jd�}|jdddddd�||jd	d
�d�dS(Nutitleu%This is even more ***fun*** isn't it!ucharsetuus-asciiuulanguageuenu
msg_01.txtumaxheaderleniNu"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
(uus-asciiuu%This is even more ***fun*** isn't it!(uus-asciiuenu%This is even more ***fun*** isn't it!(undiffAssertEqualuMessageu	set_paramu	get_paramu_msgobju	as_string(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_set_param�s		

uTestRFC2231.test_set_paramcCs�t�}|jdd�|j|dd�|jdddd
�|j|dd�|jdddd
�|j|dd	�dS(Nutitleufooucontent-typeutext/plain; title="foo"ubarurequoteutext/plain; title=baru	(bar)bellutext/plain; title="(bar)bell"F(uMessageu	set_paramuassertEqualuFalse(uselfumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_set_param_requote�s	u"TestRFC2231.test_set_param_requotecCs�|j}|jd�}|jdddddd�|jdd	dddd�|jdd
d�||jdd
�d�dS(Nu
msg_01.txtufooubarucharsetuus-asciiulanguageuenutitleu%This is even more ***fun*** isn't it!uheaderuContent-TypeumaxheaderleniNu$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
(undiffAssertEqualu_msgobju	set_paramu	del_paramu	as_string(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_del_param�s	
uTestRFC2231.test_del_paramcCs/|j}|jd�}||j�d�dS(Nu
msg_32.txtuus-ascii(uassertEqualu_msgobjuget_content_charset(uselfuequmsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu test_rfc2231_get_content_charset�s	u,TestRFC2231.test_rfc2231_get_content_charsetcCsNtjd�}tj|�}|j|j�d�|j||j��dS(Nu�            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"

            u)This is even more ***fun*** is it not.pdf(utextwrapudedentuemailumessage_from_stringuassertEqualuget_filenameu	as_string(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2231_parse_rfc_quoting�s	u*TestRFC2231.test_rfc2231_parse_rfc_quotingcCsNtjd�}tj|�}|j|j�d�|j||j��dS(Nu�            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"

            u)This is even more ***fun*** is it not.pdf(utextwrapudedentuemailumessage_from_stringuassertEqualuget_filenameu	as_string(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu test_rfc2231_parse_extra_quoting�s	u,TestRFC2231.test_rfc2231_parse_extra_quotingcCsHd}tj|�}|jd�}|j|t�|j|d�dS(NuContent-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

uNAMEuMfile____C__DOCUMENTS_20AND_20SETTINGS_FABIEN_LOCAL_20SETTINGS_TEMP_nsmail.htm(uemailumessage_from_stringu	get_paramuassertNotIsInstanceutupleuassertEqual(uselfumumsguparam((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu#test_rfc2231_no_language_or_charsetsu/TestRFC2231.test_rfc2231_no_language_or_charsetcCs/d}tj|�}|j|j�d�dS(Nu�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"

u)This is even more ***fun*** is it not.pdf(uemailumessage_from_stringuassertEqualuget_filename(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu/test_rfc2231_no_language_or_charset_in_filenamesu;TestRFC2231.test_rfc2231_no_language_or_charset_in_filenamecCs/d}tj|�}|j|j�d�dS(Nu�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"

u)This is even more ***fun*** is it not.pdf(uemailumessage_from_stringuassertEqualuget_filename(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu7test_rfc2231_no_language_or_charset_in_filename_encodedsuCTestRFC2231.test_rfc2231_no_language_or_charset_in_filename_encodedcCs/d}tj|�}|j|j�d�dS(Nu�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"

u1This%20is%20even%20more%20***fun*** is it not.pdf(uemailumessage_from_stringuassertEqualuget_filename(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2231_partly_encoded+s
	u'TestRFC2231.test_rfc2231_partly_encodedcCs/d}tj|�}|j|j�d�dS(Nu�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"

u?This%20is%20even%20more%20%2A%2A%2Afun%2A%2A%2A%20is it not.pdf(uemailumessage_from_stringuassertEqualuget_filename(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2231_partly_nonencoded8s
	u*TestRFC2231.test_rfc2231_partly_nonencodedcCs/d}tj|�}|j|j�d�dS(Nu�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"

u)This is even more ***fun*** is it not.pdf(uemailumessage_from_stringuassertEqualuget_boundary(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu/test_rfc2231_no_language_or_charset_in_boundaryEsu;TestRFC2231.test_rfc2231_no_language_or_charset_in_boundarycCs/d}tj|�}|j|j�d�dS(Nu�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"

u)this is even more ***fun*** is it not.pdf(uemailumessage_from_stringuassertEqualuget_content_charset(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu.test_rfc2231_no_language_or_charset_in_charsetQsu:TestRFC2231.test_rfc2231_no_language_or_charset_in_charsetcCs/d}tj|�}|j|j�d�dS(Nu�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"

u)This is even more ***fun*** is it not.pdf(uemailumessage_from_stringuassertEqualuget_filename(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu%test_rfc2231_bad_encoding_in_filename_su1TestRFC2231.test_rfc2231_bad_encoding_in_filenamecCs/d}tj|�}|j|j�d�dS(Nu:Content-Type: text/plain; charset*=bogus''utf-8%E2%80%9D

(uemailumessage_from_stringuassertEqualuget_content_charsetuNone(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu$test_rfc2231_bad_encoding_in_charsetksu0TestRFC2231.test_rfc2231_bad_encoding_in_charsetcCs/d}tj|�}|j|j�d�dS(Nu:Content-Type: text/plain; charset*=ascii''utf-8%E2%80%9D

(uemailumessage_from_stringuassertEqualuget_content_charsetuNone(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu%test_rfc2231_bad_character_in_charsetusu1TestRFC2231.test_rfc2231_bad_character_in_charsetcCs/d}tj|�}|j|j�d�dS(Nu�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�(uemailumessage_from_stringuassertEqualuget_filename(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu&test_rfc2231_bad_character_in_filenamesu2TestRFC2231.test_rfc2231_bad_character_in_filenamecCs/d}tj|�}|j|j�d�dS(Nu^Content-Transfer-Encoding: 8bit
Content-Disposition: inline; filename*=X-UNKNOWN''myfile.txt

u
myfile.txt(uemailumessage_from_stringuassertEqualuget_filename(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2231_unknown_encoding�su)TestRFC2231.test_rfc2231_unknown_encodingcCsa|j}d}tj|�}|jd�\}}}||d�||d�||d�dS(NuJContent-Type: application/x-foo;
	name*0*="Frank's"; name*1*=" Document"

unameuFrank's Document(uassertEqualuemailumessage_from_stringu	get_paramuNone(uselfuequmumsgucharsetulanguageus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu-test_rfc2231_single_tick_in_filename_extended�s	

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

unameuFrank's Document(uemailumessage_from_stringu	get_paramuassertNotIsInstanceutupleuassertEqual(uselfumumsguparam((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu$test_rfc2231_single_tick_in_filename�s
u0TestRFC2231.test_rfc2231_single_tick_in_filenamecCs/d}tj|�}|j|j�d�dS(NuAContent-Disposition: inline;
	filename*0*="'This%20is%20broken";
u'This is broken(uemailumessage_from_stringuassertEqualuget_filename(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2231_missing_tick�s
	u%TestRFC2231.test_rfc2231_missing_tickcCs/d}tj|�}|j|j�d�dS(NuAContent-Disposition: inline;
	filename*0*="'This%20is%E2broken";
u'This is�broken(uemailumessage_from_stringuassertEqualuget_filename(uselfumumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu0test_rfc2231_missing_tick_with_encoded_non_ascii�s
	u<TestRFC2231.test_rfc2231_missing_tick_with_encoded_non_asciicCsa|j}d}tj|�}|jd�\}}}||d�||d�||d�dS(NuYContent-Type: application/x-foo;
	name*0*="us-ascii'en-us'Frank's"; name*1*=" Document"

unameuus-asciiuen-usuFrank's Document(uassertEqualuemailumessage_from_stringu	get_param(uselfuequmumsgucharsetulanguageus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu!test_rfc2231_tick_attack_extended�s	

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

unameuus-ascii'en-us'Frank's Document(uemailumessage_from_stringu	get_paramuassertNotIsInstanceutupleuassertEqual(uselfumumsguparam((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2231_tick_attack�s
u$TestRFC2231.test_rfc2231_tick_attackcCs8|j}d}tj|�}||jd�d�dS(Nu:Content-Type: application/x-foo; name="Frank's Document"

unameuFrank's Document(uassertEqualuemailumessage_from_stringu	get_param(uselfuequmumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_rfc2231_no_extended_values�s	u+TestRFC2231.test_rfc2231_no_extended_valuescCsa|j}d}tj|�}|jd�\}}}||d�||d�||d�dS(NuiContent-Type: application/x-foo;
	name*0*="us-ascii'en-us'My";
	name*1=" Document";
	name*2*=" For You"

unameuus-asciiuen-usuMy Document For You(uassertEqualuemailumessage_from_stringu	get_param(uselfuequmumsgucharsetulanguageus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu,test_rfc2231_encoded_then_unencoded_segments�s	

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

unameuus-asciiuen-usuMy Document For You(uassertEqualuemailumessage_from_stringu	get_param(uselfuequmumsgucharsetulanguageus((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu,test_rfc2231_unencoded_then_encoded_segments�s	

u8TestRFC2231.test_rfc2231_unencoded_then_encoded_segmentsN(u__name__u
__module__u__qualname__utest_get_paramutest_set_paramutest_set_param_requoteutest_del_paramu test_rfc2231_get_content_charsetutest_rfc2231_parse_rfc_quotingu test_rfc2231_parse_extra_quotingu#test_rfc2231_no_language_or_charsetu/test_rfc2231_no_language_or_charset_in_filenameu7test_rfc2231_no_language_or_charset_in_filename_encodedutest_rfc2231_partly_encodedutest_rfc2231_partly_nonencodedu/test_rfc2231_no_language_or_charset_in_boundaryu.test_rfc2231_no_language_or_charset_in_charsetu%test_rfc2231_bad_encoding_in_filenameu$test_rfc2231_bad_encoding_in_charsetu%test_rfc2231_bad_character_in_charsetu&test_rfc2231_bad_character_in_filenameutest_rfc2231_unknown_encodingu-test_rfc2231_single_tick_in_filename_extendedu$test_rfc2231_single_tick_in_filenameutest_rfc2231_missing_ticku0test_rfc2231_missing_tick_with_encoded_non_asciiu!test_rfc2231_tick_attack_extendedutest_rfc2231_tick_attackutest_rfc2231_no_extended_valuesu,test_rfc2231_encoded_then_unencoded_segmentsu,test_rfc2231_unencoded_then_encoded_segments(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyuTestRFC2231�s8%
!




	


uTestRFC2231cBsP|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS(u
TestSignedc	Cs:t|��"}|j�}tj|�}WdQX||fS(N(uopenfileureaduemailumessage_from_string(uselfufilenameufpuoriginalumsg((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu_msg_and_objsuTestSigned._msg_and_objcCslddl}|jd|j|jB�}|j|�jd�}|j|�jd�}|j||�dS(Niu^--([^\n]+)\n(.*?)\n--\1$i(ureucompileuSuMusearchugroupuassertEqual(uselfuoriginaluresultureurepartuinpartuoutpart((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu_signed_parts_eqs
uTestSigned._signed_parts_eqcCs5|jd�\}}|j�}|j||�dS(Nu
msg_45.txt(u_msg_and_obju	as_stringu_signed_parts_eq(uselfuoriginalumsguresult((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_long_headers_as_stringsu&TestSigned.test_long_headers_as_stringcCs;|jd�\}}|jdd�}|j||�dS(Nu
msg_45.txtumaxheaderleni<(u_msg_and_obju	as_stringu_signed_parts_eq(uselfuoriginalumsguresult((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu(test_long_headers_as_string_maxheaderlensu3TestSigned.test_long_headers_as_string_maxheaderlencCsQ|jd�\}}t�}t|�j|�|j�}|j||�dS(Nu
msg_45.txt(u_msg_and_objuStringIOu	Generatoruflattenugetvalueu_signed_parts_eq(uselfuoriginalumsgufpuresult((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyutest_long_headers_flatten$s
	u$TestSigned.test_long_headers_flattenN(u__name__u
__module__u__qualname__u_msg_and_obju_signed_parts_equtest_long_headers_as_stringu(test_long_headers_as_string_maxheaderlenutest_long_headers_flatten(u
__locals__((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu
TestSigned
s
u
TestSignedu__main__(Vureutimeubase64uunittestutextwrapuiouStringIOuBytesIOu	itertoolsuchainuemailuemail.policyu
email.charsetuCharsetuemail.headeruHeaderu
decode_headerumake_headeruemail.parseruParseruHeaderParseruemail.generatoru	GeneratoruDecodedGeneratoruBytesGeneratoru
email.messageuMessageuemail.mime.applicationuMIMEApplicationuemail.mime.audiou	MIMEAudiouemail.mime.textuMIMETextuemail.mime.imageu	MIMEImageuemail.mime.baseuMIMEBaseuemail.mime.messageuMIMEMessageuemail.mime.multipartu
MIMEMultipartuutilsuerrorsuencodersu	iteratorsu
base64mimeu
quoprimimeutest.supportuunlinkutest.test_emailuopenfileu
TestEmailBaseu
FeedParseruBytesFeedParseruNLuEMPTYSTRINGuSPACEuTestMessageAPIuTestCaseuTestEncodersuTestLongHeadersuTestFromManglingu
TestMIMEAudiou
TestMIMEImageuTestMIMEApplicationuTestMIMETextu
TestMultipartuTestNonConformantuTestRFC2047uTestMIMEMessageuTestIdempotentuTestMiscellaneousu
TestIteratorsuTestParsersuTest8BitBytesHandlingu BaseTestBytesGeneratorIdempotentuTestBytesGeneratorIdempotentNLu TestBytesGeneratorIdempotentCRLFu
TestBase64u
TestQuopriuTestCharsetu
TestHeaderuTestRFC2231u
TestSignedu__name__umain(((u?/opt/alt/python33/lib64/python3.3/test/test_email/test_email.pyu<module>s����<��?F((P5�|���.���Y���		5�C:�d��#