
    2hh                         S SK r S SKrS SKrS SKJrJr  S SKJr  S SKJ	r	   " S S\	5      r
 " S S5      rS	 r " S
 S\\	5      rS rS r " S S\\	5      r\S:X  a  \R$                  " 5         gg)    N)MessageEmailMessage)default)TestEmailBasec                   h    \ rS rSr " S S\5      r\R                  R                  SS9r	S r
S rSrg	)
TestCustomMessage	   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )TestCustomMessage.MyMessage   c                 .   > Xl         [        TU ]	  5         g N)check_policysuper__init__)selfpolicy	__class__s     D/opt/python-3.13.8/usr/lib/python3.13/test/test_email/test_parser.pyr   $TestCustomMessage.MyMessage.__init__   s     &G    )r   )__name__
__module____qualname____firstlineno__r   __static_attributes____classcell__)r   s   @r   	MyMessager      s    	 	r   r   boo)linesepc                     [         R                  " SU R                  U R                  S9nU R	                  XR                  5        U R                  UR                  U R                  5        g NzSubject: bogus

msg
r   )emailmessage_from_stringr   MyPolicyassertIsInstanceassertIsr   )r   msgs     r   7test_custom_message_gets_policy_if_possible_from_stringITestCustomMessage.test_custom_message_gets_policy_if_possible_from_string   sO    ''(A(,/3}}> 	c>>2c&&6r   c                    [         R                  " S5      n[        R                  " UU R                  U R
                  S9nU R                  X R                  5        U R                  UR                  U R
                  5        g r"   )	ioStringIOr$   message_from_filer   r&   r'   r(   r   )r   source_filer)   s      r   5test_custom_message_gets_policy_if_possible_from_fileGTestCustomMessage.test_custom_message_gets_policy_if_possible_from_file   s]    kk";<%%k&*nn-1]]< 	c>>2c&&6r    N)r   r   r   r   r   r   r   r   cloner&   r*   r1   r   r3   r   r   r   r   	   s3    G 
 ##))%)8H77r   r   c                   <    \ rS rSrS r " S S\5      rS rS rSr	g)	TestParserBase$   c                 ,   U R                    Hr  nU R                  UR                  S9   U" S[        S9nU R	                  UR                  5       / SQ5        U R	                  UR                  5       S5        S S S 5        Mt     g ! , (       d  f       M  = f)Nparseru   Next-Line: notbroken
Null: not broken
Vertical-Tab: notbroken
Form-Feed: notbroken
File-Separator: notbroken
Group-Separator: notbroken
Record-Separator: notbroken
Line-Separator: not broken
Paragraph-Separator: not broken

r#   )	)z	Next-Lineu   notbroken)Nullz
not broken)zVertical-Tabz
notbroken)z	Form-Feedz
notbroken)zFile-Separatorz
notbroken)zGroup-Separatorz
notbroken)zRecord-Separatorz
notbroken)zLine-Separatoru   not broken)zParagraph-Separatoru   not broken )parserssubTestr   r   assertEqualitemsget_payload)r   r:   r)   s      r   test_only_split_on_cr_lf'TestParserBase.test_only_split_on_cr_lf&   s}     llFV__5	 #    
/ 
   !2B73 65 #55s   AB
B	c                       \ rS rSrSrg)TestParserBase.MyMessageF   r3   N)r   r   r   r   r   r3   r   r   r   rE   F   s    r   r   c                    U R                    He  nU R                  UR                  S9   [        R                  " U R
                  S9nU" SUS9nU R                  X0R
                  5        S S S 5        Mg     g ! , (       d  f       My  = fNr9   )message_factoryzTo: foo

testr#   )r=   r>   r   r   r4   r   r'   r   r:   r&   r)   s       r   %test_custom_message_factory_on_policy4TestParserBase.test_custom_message_factory_on_policyI   sb    llFV__5"==H.x@%%c>>: 65 #55s   AA77
B	c                 H   U R                    H  nU R                  UR                  S9   [        R                  " U R
                  S9nU" S[        US9nU R                  X0R
                  5        U R                  U[        5        S S S 5        M     g ! , (       d  f       M  = frH   )	r=   r>   r   r   r4   r   r   assertNotIsInstancer'   rJ   s       r   !test_factory_arg_overrides_policy0TestParserBase.test_factory_arg_overrides_policyP   st    llFV__5"==H.I((nn=%%c73	 65 #55s   AB
B!	r3   N)
r   r   r   r   rB   r   r   rK   rO   r   r3   r   r   r6   r6   $   s    8@L ;4r   r6   c                 b    [         R                  " U 5      n[        R                  " U/UQ70 UD6$ r   )r-   r.   r$   r/   sargskwfs       r   r/   r/   [   s*    
AA""12t2r22r   c                   0    \ rS rSr\R
                  \4rSrg)
TestParser_   r3   N)	r   r   r   r   r$   r%   r/   r=   r   r3   r   r   rX   rX   _   s    ((*;<Gr   rX   c                 R    [         R                  " U R                  5       /UQ70 UD6$ r   )r$   message_from_bytesencode)rS   rT   rU   s      r   r[   r[   b   s#    ##AHHJ<<<<r   c                 ~    [         R                  " U R                  5       5      n[        R                  " U/UQ70 UD6$ r   )r-   BytesIOr\   r$   message_from_binary_filerR   s       r   r_   r_   e   s1    


188:A))!9d9b99r   c                       \ rS rSr\\4rSrg)TestBytesParseri   r3   N)r   r   r   r   r[   r_   r=   r   r3   r   r   ra   ra   i   s    !#;<Gr   ra   __main__)r-   r$   unittestemail.messager   r   email.policyr   test.test_emailr   r   r6   r/   rX   r[   r_   ra   r   mainr3   r   r   <module>ri      sq    	   /   )7 7624 24n3= ==:=nm = zMMO r   