Your IP : 216.73.216.213


Current Path : /opt/alt/python311/lib64/python3.11/test/test_email/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib64/python3.11/test/test_email/__pycache__/test_policy.cpython-311.pyc

�

�0�i�D���ddlZddlZddlZddlZddlZddlZddlZddlZddl	Zddlm
Z
d�ZGd�dej��Z
Gd�de��ZGd�d	ej��ZGd
�dej��Zedkrej��dSdS)
�N)�headerregistryc�X�|���}|�|��|S�N)�copy�update)�
base_defaults�differences�defaultss   �B/opt/alt/python311/lib64/python3.11/test/test_email/test_policy.py�
make_defaultsrs*���!�!�#�#�H��O�O�K� � � ��O�c�f�eZdZdZdddddddd�Ze���Ze�ddej	j
jdej	j
jdej
jd	���ej	�
��Zej	jeei��ej	jeei��ej	jeed
di��ej	jeeddd���ej	jeeddd
���ej	jeeddi��eeei��iZejeed<d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!Gd�d��Z"Gd�de#��Z$d�Z%d�Z&Gd �d!ej	j
��Z'd"�Z(d#�Z)d$�Z*Gd%�d&��Z+d'�Z,d(�Z-d)�Z.d*�Z/d+�Z0d,�Z1d-�Z2dS).�PolicyAPITestsT�N�
�8bitFN)�max_line_length�linesep�cte_type�raise_on_defect�mangle_from_�message_factory�verify_generated_headers�long)�utf8r�header_factory�
refold_source�content_managerrrrz
)rr)rrrrc
�F�|j���D]�\}}|���D]l\}}|�||���5|�t	||��|d�|����ddd��n#1swxYwY�m��dS)N��policy�attrz2change {} docs/docstrings if defaults have changed)�policies�items�subTest�assertEqual�getattr�format)�selfr!�expectedr"�values     r�
test_defaultszPolicyAPITests.test_defaultsCs��� $�
� 3� 3� 5� 5�	?�	?��F�H�'�~�~�/�/�
?�
?���e��\�\��d�\�;�;�?�?��$�$�W�V�T�%:�%:�E�&.�/5�v�f�~�~�?�?�?�?�?�?�?�?�?�?�?�?�?�?����?�?�?�?��
?�	?�	?s�9B�B�Bc
���|j���D]�\}}t|��D]�}|�||���5|�d��s7tt
tjj	|��tj��r
	ddd���s|�||d�
|����	ddd��n#1swxYwY����dS)Nr �_z{} is not fully tested)r#r$�dirr%�
startswith�
isinstancer'�emailr!�EmailPolicy�types�FunctionType�assertInr()r)r!r*r"s    r�test_all_attributes_coveredz*PolicyAPITests.test_all_attributes_coveredKsp�� $�
� 3� 3� 5� 5�		M�		M��F�H��F���
M�
M���\�\��d�\�;�;�M�M�����,�,�M�&�w�u�|�/G��'N�'N�"'�"4�6�6�M�!�	M�M�M�M�M�M�M��
�
�d�H�&>�&E�&E�d�&K�&K�M�M�M�M�
M�M�M�M�M�M�M�M�M�M�M����M�M�M�M��
M�		M�		Ms�AC�!*C�C�Cc��|�t��5}tj���ddd��n#1swxYwYt|j��}d}|D]}|�||���dS)N)�fold�fold_binary�header_fetch_parse�header_source_parse�header_store_parse)�assertRaises�	TypeErrorr2r!�Policy�str�	exceptionr6)r)�cm�msg�abstract_methods�methods     r�test_abczPolicyAPITests.test_abcWs���
�
�
�y�
)�
)�	"�R��L���!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"��"�,����2��
'�	'�	'�F��M�M�&�#�&�&�&�&�	'�	's�A�A
�
A
c�P�|j���D]�\}}|D]I}|�t|dz��5t	||d��ddd��n#1swxYwY�J|�td��5d|_ddd��n#1swxYwY��dS)Nz.*read-onlyzno attribute.*foo)r#r$�assertRaisesRegex�AttributeError�setattr�foo)r)r!r
r"s    r�test_policy_is_immutablez'PolicyAPITests.test_policy_is_immutablecs4�� $�
� 3� 3� 5� 5�	"�	"��F�H� �
0�
0���+�+�N�D��<N�O�O�0�0��F�D�$�/�/�/�0�0�0�0�0�0�0�0�0�0�0����0�0�0�0���'�'��8K�L�L�
"�
"�!��
�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"����
"�
"�
"�
"��		"�	"s$�A�A#�&A#�B�B	�!B	c���|j���D]F\}}d�|D��}|jdi|��}|D]%}|�t	||�����&�GdS)Nc��i|]}|d��Sr�)�.0r"s  r�
<dictcomp>zDPolicyAPITests.test_set_policy_attrs_when_cloned.<locals>.<dictcomp>os��<�<�<�4�D�$�<�<�<r
rP)r#r$�clone�assertIsNoner')r)�policyclassr
�testattrdictr!r"s      r�!test_set_policy_attrs_when_clonedz0PolicyAPITests.test_set_policy_attrs_when_clonedks���&*�]�%8�%8�%:�%:�	9�	9�!�K��<�<�8�<�<�<�L�&�[�&�6�6��6�6�F� �
9�
9���!�!�'�&�$�"7�"7�8�8�8�8�
9�	9�	9r
c��|jD]~}|�t��5|d���ddd��n#1swxYwY|�t��5|d���ddd��n#1swxYwY�dS)N)� this_keyword_should_not_be_valid)�newtline)r#r>r?)r)rUs  r�*test_reject_non_policy_keyword_when_calledz9PolicyAPITests.test_reject_non_policy_keyword_when_calledts'���=�	+�	+�K��"�"�9�-�-�
C�
C���T�B�B�B�B�
C�
C�
C�
C�
C�
C�
C�
C�
C�
C�
C����
C�
C�
C�
C��"�"�9�-�-�
+�
+���T�*�*�*�*�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+����
+�
+�
+�
+��	+�	+s!�
=�A	�A	�"
A;�;A?	�A?	c���|j���}tjj�d���}tjj�d���}||z}|�d���|���D])\}}|�t||��|���*||z}|�d���|���D])\}}|�t||��|���*|tjjz}|���D])\}}|�t||��|���*dS)N�d�r�2)
�policy_defaultsrr2r!�defaultrSrr$r&r')r)r*�p1�p2�addedr"r+s       r�test_policy_additionz#PolicyAPITests.test_policy_addition{s_���'�,�,�.�.��
�\�
!�
'�
'��
'�
<�
<��
�\�
!�
'�
'��
'�
;�
;���R��������+�+�+�#�>�>�+�+�	:�	:�K�D�%����W�U�D�1�1�5�9�9�9�9��R��������,�,�,�#�>�>�+�+�	:�	:�K�D�%����W�U�D�1�1�5�9�9�9�9����,�,��#�>�>�+�+�	:�	:�K�D�%����W�U�D�1�1�5�9�9�9�9�	:�	:r
c�P�d}d}tj���}d}||d<tjj���}tjj�d���}|�|�d|d��|��|�|�d|d��|��|�|�d|��|��|�|�d|��|��dS)N�Subject: =?utf-8?q?=C3=A1?=
uSubject: á
�á�SubjectT)r�r2�message�EmailMessager!rarSr&r9)r)�expected_ascii�
expected_utf8rD�s�p_ascii�p_utf8s       r�test_fold_utf8zPolicyAPITests.test_fold_utf8�s���8��'�
��m�(�(�*�*������I���,�&�,�,�.�.����%�+�+��+�6�6��������i��Y��@�@�.�Q�Q�Q�������Y��I��?�?��O�O�O�������i��3�3�^�D�D�D�������Y��2�2�M�B�B�B�B�Br
c��d}tj���}d|d<tjj�d���}tjj�d���}|�|�d|d��|��|�|�d|d��|��dS)Nrgrhrirr^rj)r)r*rDrbrcs     r�test_fold_zero_max_line_lengthz-PolicyAPITests.test_fold_zero_max_line_length�s���2���m�(�(�*�*����I��
�\�
!�
'�
'��
'�
:�
:��
�\�
!�
'�
'��
'�
=�
=���������C�	�N�;�;�X�F�F�F��������C�	�N�;�;�X�F�F�F�F�Fr
c�r�Gd�d��}|��}t��}tj���}|�||��|�|j|g��t��}|�||��|�|j||g��dS)Nc��eZdZd�ZdS)�2PolicyAPITests.test_register_defect.<locals>.Dummyc��g|_dSr��defects�r)s r�__init__z;PolicyAPITests.test_register_defect.<locals>.Dummy.__init__�s
��!����r
N��__name__�
__module__�__qualname__r|rPr
r�Dummyrw�s#������
"�
"�
"�
"�
"r
r�)�objectr2r!r3�register_defectr&rz)r)r��obj�defectr!�defect2s      r�test_register_defectz#PolicyAPITests.test_register_defect�s���	"�	"�	"�	"�	"�	"�	"�	"��e�g�g��������)�)�+�+�����s�F�+�+�+������v�h�/�/�/��(�(�����s�G�,�,�,������v�w�&7�8�8�8�8�8r
c��eZdZd�ZdS)�PolicyAPITests.MyObjc��g|_dSrryr{s rr|zPolicyAPITests.MyObj.__init__�s
���D�L�L�Lr
Nr}rPr
r�MyObjr��s#������	�	�	�	�	r
r�c��eZdZdS)�PolicyAPITests.MyDefectN�r~rr�rPr
r�MyDefectr��s�������r
r�c�
�|���}|�d��}|�|jd��5tjj�||��ddd��dS#1swxYwYdS)N�the telly is broken)r�r�rIr2r!�strict�
handle_defect�r)rLr�s   r�#test_handle_defect_raises_on_strictz2PolicyAPITests.test_handle_defect_raises_on_strict�s����j�j�l�l�����4�5�5��
�
#�
#�D�M�3H�
I�
I�	;�	;��L��-�-�c�6�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;s�&A8�8A<�?A<c��|���}|�d��}tjj�||��|�|j|g��|�d��}tjj�||��|�|j||g��dS�N�one�two)r�r�r2r!rar�r&rz)r)rL�defect1r�s    r�#test_handle_defect_registers_defectz2PolicyAPITests.test_handle_defect_registers_defect�s����j�j�l�l���-�-��&�&��
���*�*�3��8�8�8������w�i�0�0�0��-�-��&�&��
���*�*�3��8�8�8������w��&8�9�9�9�9�9r
c�(��eZdZdZ�fd�Zd�Z�xZS)�PolicyAPITests.MyPolicyNc�>��t��j|dgi|��dS)Nrz)�superr|)r)�args�kw�	__class__s   �rr|z PolicyAPITests.MyPolicy.__init__�s*����E�G�G��d�5�B�5�"�5�5�5�5�5r
c�:�|j�|��dSr)rz�append)r)r�r�s   rr�z'PolicyAPITests.MyPolicy.register_defect�s���L����'�'�'�'�'r
)r~rr�rzr|r��
__classcell__)r�s@r�MyPolicyr��sL���������	6�	6�	6�	6�	6�	(�	(�	(�	(�	(�	(�	(r
r�c��|���}|�d��}|�|jd��5|�d����||��ddd��dS#1swxYwYdS)Nr�T)r)r�r�rIr�r�r�s   r�,test_overridden_register_defect_still_raisesz;PolicyAPITests.test_overridden_register_defect_still_raises�s����j�j�l�l�����4�5�5��
�
#�
#�D�M�3H�
I�
I�	K�	K��M�M�$�M�/�/�=�=�c�6�J�J�J�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K����	K�	K�	K�	K�	K�	Ks�+A=�=B�Bc���|���}|�d��}|���}|�||��|�|j|g��|�|jg��|�d��}|�||��|�|j||g��|�|jg��dSr�)r�r�r�r�r&rz)r)rLr��	my_policyr�s     r�%test_overridden_register_defect_worksz4PolicyAPITests.test_overridden_register_defect_works�s����j�j�l�l���-�-��&�&���M�M�O�O�	�����W�-�-�-�����*�W�I�6�6�6������b�)�)�)��-�-��&�&������W�-�-�-�����*�W�g�,>�?�?�?������b�)�)�)�)�)r
c��tjj�dd��}|�|jd��|�|tj��|�|tj	��dS)N�Test�test)
r2r!rarr&�name�assertIsInstancer�UnstructuredHeader�
BaseHeader)r)�hs  r�test_default_header_factoryz*PolicyAPITests.test_default_header_factory�sl���L� �/�/���?�?��������(�(�(����a��!B�C�C�C����a��!:�;�;�;�;�;r
c�&�eZdZejjZdS)�PolicyAPITests.FooN)r~rr�rr��parserPr
r�Foor��s�������1�7���r
r�c��tj���}tj���}|j�d|j��|�dd��}|�||j��|�|tj	��|�dd��}|�||j��|�|tj	��dS�NrLr�)
r2r!r3r�map_to_typer�r��assertNotIsInstancerr��r)�policy1�policy2r�s    r�$test_each_Policy_gets_unique_factoryz3PolicyAPITests.test_each_Policy_gets_unique_factory�s����,�*�*�,�,���,�*�*�,�,����*�*�5�$�(�;�;�;��"�"�5�&�1�1�����a���*�*�*�� � ��N�$E�F�F�F��"�"�5�&�1�1��� � ��D�H�-�-�-����a��!B�C�C�C�C�Cr
c�n�tj���}|���}|j�d|j��|�dd��}|�||j��|�dd��}|�||j��dSr�)r2r!r3rSrr�r�r�r�s    r�test_clone_copies_factoryz(PolicyAPITests.test_clone_copies_factory�s����,�*�*�,�,���-�-�/�/����*�*�5�$�(�;�;�;��"�"�5�&�1�1�����a���*�*�*��"�"�5�&�1�1�����a���*�*�*�*�*r
c��tj���}|j}|tjjz}|�|j|��tjj|z}|�|j|��dSr)r2r!r3rr�r&)r)�mypolicy�	myfactory�	newpolicys    r�"test_new_factory_overrides_defaultz1PolicyAPITests.test_new_factory_overrides_defaultss���<�+�+�-�-���+�	��u�|�2�2�	�����1�9�=�=�=��L�'�(�2�	�����1�9�=�=�=�=�=r
c���tjjtjjz}|�|jtjjj��|�|jddi��dS)NrT)r2r!rar�r&rr3�__dict__)r)r�s  r�6test_adding_default_policies_preserves_default_factoryzEPolicyAPITests.test_adding_default_policies_preserves_default_factory	sf���L�(�5�<�+>�>�	�����1���1�@�	B�	B�	B�����+�.?��-F�G�G�G�G�Gr
c��tjj�d���}|�dd��}|�|d��dS)N�r^riuąąąąąąąąąąąąz�Subject: 
 =?utf-8?q?=C4=85?=
 =?utf-8?q?=C4=85?=
 =?utf-8?q?=C4=85?=
 =?utf-8?q?=C4=85?=
 =?utf-8?q?=C4=85?=
 =?utf-8?q?=C4=85?=
 =?utf-8?q?=C4=85?=
 =?utf-8?q?=C4=85?=
 =?utf-8?q?=C4=85?=
 =?utf-8?q?=C4=85?=
 =?utf-8?q?=C4=85?=
 =?utf-8?q?=C4=85?=
)r2r!rarSr9r&)r)r!�actuals   r�*test_non_ascii_chars_do_not_cause_inf_loopz9PolicyAPITests.test_non_ascii_chars_do_not_cause_inf_loopsZ����%�+�+�B�+�?�?�����Y�	�2�2������
)�	*�	*�	*�	*�	*r
c�^�d}dD]�}|�|���5tjj�|���}|�tjj��5|�d|��ddd��n#1swxYwYddd��n#1swxYwY��dS)Nz;Melt away the pounds with this one simple trick! 1234567890)���	)�maxlenr^ri)	r%r2r!rarSr>�errors�HeaderParseErrorr9)r)�subjectr�r!s    r�test_short_maxlen_errorz&PolicyAPITests.test_short_maxlen_errors*��P���	4�	4�F����V��,�,�
4�
4���-�3�3�F�3�K�K���&�&�u�|�'D�E�E�4�4��K�K�	�7�3�3�3�4�4�4�4�4�4�4�4�4�4�4����4�4�4�4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4����
4�
4�
4�
4��	4�	4s6�A
B!�'B
�>B!�
B�B!�B�B!�!B%	�(B%	c��tjj�d���}dD]�}|�|���5tjd|���}Gd�dt��}|d	=||��|d	<|�|���|�d
���|�|�	��|�d
��
����ddd��n#1swxYwY��dS)NF)r)zHeader: Value
Bad: Injection
zHeader: NoNewLine)�textzHeader: Value

Body�r!c��eZdZdZd�ZdS)�CPolicyAPITests.test_verify_generated_headers.<locals>.LiteralHeader�Headerc��|SrrP)r)�kwargss  rr9zHPolicyAPITests.test_verify_generated_headers.<locals>.LiteralHeader.fold8s��#�r
N)r~rr�r�r9rPr
r�
LiteralHeaderr�6s(������#�D�$�$�$�$�$r
r�r�z
Body)r2r!rarSr%�message_from_stringrAr&�	as_string�as_bytes�encode)r)r!r�rkr�s     r�test_verify_generated_headersz,PolicyAPITests.test_verify_generated_headers*sw����%�+�+�U�+�K�K��
�	�	�D����4��(�(�
�
��3�/�!�����$�$�$�$�$�C�$�$�$�
�H�%�$1�M�$�$7�$7���!�� � ��%�%�'�'��O�O�O����� � ��$�$�&�&��O�O�O�*�*�,�,����#
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��		�	s�B#C/�/C3	�6C3	)3r~rr��longMessage�compat32_defaultsrr`rr2r!r3rrrkrl�
new_policy�compat32rra�SMTP�SMTPUTF8�HTTPr�r#r,r7rGrMrWr[rerrrtr�r��	Exceptionr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rPr
rrrs��������K�%'�$(�$*�$)�$(�$(�$(�
�
��(�,�,�.�.�O����$)�$)�$)�L�$<�$K�$*�$)�L�$<�$L�$)�$)�M�$>�
�
������)�)�+�+�J�
���}�}�->��C�C�
���m�m�O�R�@�@�
���=�=��*3�V�)<�>�>�
���}�}�_�9?�6:�.<�.<� =� =�	���=�=��5;�=A�*C�*C�D�D�	���]�]�?�,=�t�+D�F�F��M�M�/�2�6�6�
�H�".8�-F�H�Z��)�*�?�?�?�
M�
M�
M�
'�
'�
'�"�"�"�9�9�9�+�+�+�:�:�:� C�C�C�"
G�
G�
G�9�9�9���������
�
�
�
�
�9�
�
�
�;�;�;�:�:�:�(�(�(�(�(�5�<�+�(�(�(�K�K�K�
*�
*�
*�<�<�<�8�8�8�8�8�8�8�8�	D�	D�	D�+�+�+�>�>�>�H�H�H�*�*�*�4�4�4�&����r
rc��eZdZdS)�
TestExceptionNr�rPr
rr�r�Ls�������Dr
r�c��eZdZGd�dejj��Zd�Zd�Zd�Z	d�Z
d�Zd�Zdd�Z
d�Zd
�Zd�Zd�Zd
S)�TestPolicyPropagationc�(�eZdZd�ZexZxZZexZZdS)�TestPolicyPropagation.MyPolicyc� �td���)Nr�)r�)r)r�r�s   r�	badmethodz(TestPolicyPropagation.MyPolicy.badmethodUs����'�'�'r
N)	r~rr�r�r9r:�header_fetch_parserr<r=rPr
rr�r�Ts;������	(�	(�	(�3<�<��<�{�0�3<�<��0�0�0r
r�c��|�td��5tjd|j���ddd��dS#1swxYwYdS)N�^test$�Subject: test

r�)rIr�r2r�r�r{s r�test_message_from_stringz.TestPolicyPropagation.test_message_from_stringZs���
�
#�
#�M�8�
<�
<�	<�	<��%�&9�-1�]�
<�
<�
<�
<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�	<�	<��A�A	�A	c��|�td��5tjd|j���ddd��dS#1swxYwYdS)Nr��Subject: test

r�)rIr�r2�message_from_bytesr�r{s r�test_message_from_bytesz-TestPolicyPropagation.test_message_from_bytes_s���
�
#�
#�M�8�
<�
<�	;�	;��$�%9�,0�M�
;�
;�
;�
;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;r�c���tjd��}|�td��5t	j||j���ddd��dS#1swxYwYdS)Nr�r�r�)�io�StringIOrIr�r2�message_from_filer��r)�fs  r�test_message_from_filez,TestPolicyPropagation.test_message_from_fileds����K�+�,�,��
�
#�
#�M�8�
<�
<�	=�	=��#�A�d�m�<�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�	=�	=��A�A� Ac���tjd��}|�td��5t	j||j���ddd��dS#1swxYwYdS)Nr�r�r�)r�BytesIOrIr�r2�message_from_binary_filer�rs  r�test_message_from_binary_filez3TestPolicyPropagation.test_message_from_binary_fileis����J�+�,�,��
�
#�
#�M�8�
<�
<�	D�	D��*�1�T�]�C�C�C�C�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D�	D�	Drc���tj�|j���}|�t
d��5|�d��ddd��dS#1swxYwYdS)Nr�r�r�)r2�parser�Parserr�rIr��parsestr�r)�ps  r�test_parserz!TestPolicyPropagation.test_parserps����L���t�}��5�5��
�
#�
#�M�8�
<�
<�	,�	,�
�J�J�*�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,��A$�$A(�+A(c���tj�|j���}|�t
d��5|�d��ddd��dS#1swxYwYdS)Nr�r�r�)r2r
�BytesParserr�rIr��
parsebytesrs  r�test_bytes_parserz'TestPolicyPropagation.test_bytes_parserus����L�$�$�D�M�$�:�:��
�
#�
#�M�8�
<�
<�	/�	/�
�L�L�-�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/rr�Nc��|�#tjj���n||_tj||j���S)Nr�)r2r!rarSr�)r)�sourcer!s   r�	_make_msgzTestPolicyPropagation._make_msg~s;��6<�n�e�l�*�0�0�2�2�2�&����(����D�D�D�Dr
c�n�|���}|�|j|j��dSr)r�assertIsr!�r)rDs  r�(test_parser_propagates_policy_to_messagez>TestPolicyPropagation.test_parser_propagates_policy_to_message�s/���n�n�����
�
�c�j�$�+�.�.�.�.�.r
c���|�tjd����}|���D]"}|�|j|j���#dS)Na+            Subject: mime test
            MIME-Version: 1.0
            Content-Type: multipart/mixed, boundary="XXX"

            --XXX
            Content-Type: text/plain

            test
            --XXX
            Content-Type: text/plain

            test2
            --XXX--
            )r�textwrap�dedent�walkrr!)r)rD�parts   r�-test_parser_propagates_policy_to_sub_messageszCTestPolicyPropagation.test_parser_propagates_policy_to_sub_messages�sf���n�n�X�_�.�������H�H�J�J�	4�	4�D��M�M�$�+�t�{�3�3�3�3�	4�	4r
c�X�|�dtjj�d������}tj��}tj�|��}|�	|��|�
|���d��dS�NzSubject: test
To: foo

�X)rr�zSubject: testXTo: fooXX)rr2r!rarSrr�	generator�	Generator�flattenr&�getvalue)r)rDro�gs    r�+test_message_policy_propagates_to_generatorzATestPolicyPropagation.test_message_policy_propagates_to_generator�s����n�n�9�$)�L�$8�$>�$>�s�$>�$K�$K��M�M���K�M�M���O�%�%�a�(�(��	�	�	�#������������'@�A�A�A�A�Ar
c���|�dtjj�d������}|�|���d��dSr&)rr2r!rarSr&r�rs  r�%test_message_policy_used_by_as_stringz;TestPolicyPropagation.test_message_policy_used_by_as_string�s]���n�n�9�$)�L�$8�$>�$>�s�$>�$K�$K��M�M����������*C�D�D�D�D�Dr
)r�N)r~rr�r2r!r@r�r�r�rrrrrrr$r-r/rPr
rr�r�Os�������
=�=�=�=�=�5�<�&�=�=�=�<�<�<�
;�;�;�
=�=�=�
D�D�D�,�,�,�
/�/�/�E�E�E�E�/�/�/�4�4�4�&B�B�B�E�E�E�E�Er
r�c��eZdZd�ZdS)�TestConcretePoliciesc��tj���}|�t|jdd��dS)N�Fromzspam
egg@foo.py)r2r!r3r>�
ValueErrorr=)r)�instances  r�(test_header_store_parse_rejects_newlinesz=TestConcretePolicies.test_header_store_parse_rejects_newlines�sE���<�+�+�-�-�����*�"�5� �"4�	6�	6�	6�	6�	6r
N)r~rr�r6rPr
rr1r1�s#������6�6�6�6�6r
r1�__main__)rr4r �unittest�email.errorsr2�email.policy�email.parser�email.generator�
email.messagerr�TestCaserr�r�r�r1r~�mainrPr
r�<module>r@sw��	�	�	�	��������������������������������� � � � � � ����
t�t�t�t�t�X�&�t�t�t�v		�	�	�	�	�I�	�	�	�UE�UE�UE�UE�UE�H�-�UE�UE�UE�p6�6�6�6�6�8�,�6�6�6��z����H�M�O�O�O�O�O��r