+
    Bi.                         ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt  ! R R4      t ! R R]]4      t	 ! R	 R
]]4      t
 ! R R]]4      t]R8X  d   ]P                  ! 4        R# R# )    Npolicy)errors)TestEmailBasec                      a  ] tR t^	t o ]P
                  tRt]P                  R 4       t	R t
R t]P                  ! R4      tR tR tR tR	 tR
 tR tR tR tR tR tR tRtV tR# )TestDefectsBaseFc              #     "   R x  R # 5iN selfdefects   &&;/usr/lib/python3.14/test/test_email/test_defect_handling.py_raise_pointTestDefectsBase._raise_point   s     s   	c                   \         P                  ! R 4      pV P                  \        P                  4      ;_uu_ 4        V P                  V4      pRRR4       V P                  '       d   R# XP                  ^ 4      pV P                  VR4       V P                  \        V P                  V4      4      ^4       V P                  V P                  V4      ^ ,          \        P                  4       R#   + '       g   i     L; i)a_              Subject: XX
            From: xx@xx.dk
            To: XX
            Mime-version: 1.0
            Content-type: multipart/mixed;
               boundary="MS_Mac_OE_3071477847_720252_MIME_Part"

            --MS_Mac_OE_3071477847_720252_MIME_Part
            Content-type: multipart/alternative;
               boundary="MS_Mac_OE_3071477847_720252_MIME_Part"

            --MS_Mac_OE_3071477847_720252_MIME_Part
            Content-type: text/plain; charset="ISO-8859-1"
            Content-transfer-encoding: quoted-printable

            text

            --MS_Mac_OE_3071477847_720252_MIME_Part
            Content-type: text/html; charset="ISO-8859-1"
            Content-transfer-encoding: quoted-printable

            <HTML></HTML>

            --MS_Mac_OE_3071477847_720252_MIME_Part--

            --MS_Mac_OE_3071477847_720252_MIME_Part
            Content-type: image/gif; name="xx.gif";
            Content-disposition: attachment
            Content-transfer-encoding: base64

            Some removed base64 encoded chars.

            --MS_Mac_OE_3071477847_720252_MIME_Part--

            Ndefects)textwrapdedentr   r   StartBoundaryNotFoundDefect_str_msgraise_expectedget_payloadassertHasAttrassertEquallenget_defectsassertIsInstance)r   sourcemsginners   &   r   test_same_boundary_inner_outer.TestDefectsBase.test_same_boundary_inner_outer   s     #" #J vAABB--'C C"5),T--e45q9d..u5a8$@@	B CBs   C11D	c                v   \         P                  ! R 4      pV P                  \        P                  4      ;_uu_ 4        V P                  V4      pRRR4       V P                  '       d   R# V P                  XP                  4       \        4       V P                  \        V P                  V4      4      ^4       V P                  V P                  V4      ^ ,          \        P                  4       V P                  V P                  V4      ^,          \        P                  4       R#   + '       g   i     L; i)a              Date: Fri, 6 Apr 2001 09:23:06 -0800 (GMT-0800)
            From: foobar
            Subject: broken mail
            MIME-Version: 1.0
            Content-Type: multipart/report; report-type=delivery-status;

            --JAB03225.986577786/zinfandel.lacita.com

            One part

            --JAB03225.986577786/zinfandel.lacita.com
            Content-Type: message/delivery-status

            Header: Another part

            --JAB03225.986577786/zinfandel.lacita.com--
            N)r   r   r   r   NoBoundaryInMultipartDefectr   r   r   r   strr   r   r   !MultipartInvariantViolationDefectr   r   r    s   &  r   test_multipart_no_boundary*TestDefectsBase.test_multipart_no_boundaryA   s     " $ vAABB--'C Ccoo/5T--c23Q7d..s3A6$@@	Bd..s3A6$FF	H CBs   D((D8	a^          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==--
        c                   V P                  \        P                  4      ;_uu_ 4        V P                  V P                  P                  R 4      4      pRRR4       V P                  '       d   R# V P                  \        V P                  X4      4      ^4       V P                  V P                  V4      ^ ,          \        P                  4       R#   + '       g   i     L; i)z"
Content-Transfer-Encoding: base64N)r   r   -InvalidMultipartContentTransferEncodingDefectr   multipart_msgformatr   r   r   r   r   r   r    s   & r   test_multipart_invalid_cte*TestDefectsBase.test_multipart_invalid_cteu   s    DDF F--&&--=?@CF
 T--c23Q7d..s3A6@@	BF Fs   +CC!	c                    V P                   '       d   R # V P                  V P                  P                  R4      4      pV P	                  \        V P                  V4      4      ^ 4       R # )N r   r   r-   r.   r   r   r   r/   s   & r   test_multipart_no_cte_no_defect/TestDefectsBase.test_multipart_no_cte_no_defect   sO    mmD..55b9:T--c23Q7    c                   V P                   '       d   R # R Ff  pV P                  V P                  P                  RV,           4      4      pV P	                  \        V P                  V4      4      ^ RV,           4       Kh  	  R # )Nz
Content-Transfer-Encoding: zcte=)7bit8bitBINaryr4   )r   cter    s   &  r   "test_multipart_valid_cte_no_defect2TestDefectsBase.test_multipart_valid_cte_no_defect   si    -C--""))*I#*MNPCS!1!1#!67F3JG .r7   c                R   \         P                  ! R 4      pV P                  \        P                  4      ;_uu_ 4        V P                  V4      pRRR4       V P                  '       d   R# V P                  XR4       V P                  \        V P                  V4      4      ^4       V P                  V P                  V4      ^ ,          \        P                  4       V P                  V P                  V4      ^,          \        P                  4       R#   + '       g   i     L; i)a              From: "Allison Dunlap" <xxx@example.com>
            To: yyy@example.com
            Subject: 64423
            Date: Sun, 11 Jul 2004 16:09:27 -0300
            MIME-Version: 1.0
            Content-Type: multipart/alternative;

            Blah blah blah
            Nr   )r   r   r   r   r%   r   r   r   r   r   r   r   r'   r(   s   &  r   test_lying_multipart$TestDefectsBase.test_lying_multipart   s     	" 	 vAABB--'C C3	*T--c23Q7d..s3A6$@@	Bd..s3A6$FF	H CBs   DD&	c                   \         P                  ! R 4      pV P                  \        P                  4      ;_uu_ 4        V P                  V4      pRRR4       V P                  '       d   R# XP                  ^4      P                  ^ 4      pV P                  \        V P                  V4      4      ^4       V P                  V P                  V4      ^ ,          \        P                  4       R#   + '       g   i     L; i)a              Content-Type: multipart/mixed; boundary="AAA"
            From: Mail Delivery Subsystem <xxx@example.com>
            To: yyy@example.com

            --AAA

            Stuff

            --AAA
            Content-Type: message/rfc822

            From: webmaster@python.org
            To: zzz@example.com
            Content-Type: multipart/mixed; boundary="BBB"

            --BBB--

            --AAA--

            N)r   r   r   r   r   r   r   r   r   r   r   r   )r   r   outerbads   &   r   test_missing_start_boundary+TestDefectsBase.test_missing_start_boundary   s     " : vAABBMM&)E C"..q1T--c23Q7d..s3A6$@@	B CBs   C..C>	c                p   V P                  \        P                  4      ;_uu_ 4        V P                  R 4      pRRR4       V P                  '       d   R# V P                  XP                  4       R.4       V P                  VP                  4       R4       V P                  \        V P                  V4      4      ^4       V P                  V P                  V4      \        P                  .4       V P                  V P                  V4      ^ ,          P                  R4       R#   + '       g   i     L; i)z Line 1
Subject: test

bodyNSubjectbodyz Line 1
)r   r   #FirstHeaderLineIsContinuationDefectr   r   r   keysr   r   r   assertDefectsEqualliner/   s   & r   &test_first_line_is_continuation_header6TestDefectsBase.test_first_line_is_continuation_header   s    vIIJJ-- @AC Ki[1*F3T--c23Q7 0 0 5"("L"L!M	O))#.q166D KJs   D%%D5	c                   V P                  \        P                  4      ;_uu_ 4        V P                  R 4      pRRR4       V P                  '       d   R# V P                  XP                  4       R.4       V P                  VP                  4       R4       V P                  V P                  V4      \        P                  .4       R#   + '       g   i     L; i)z&Subject: test
not a header
To: abc

b
NrH   znot a header
To: abc

b
)
r   r    MissingHeaderBodySeparatorDefectr   r   r   rK   r   rL   r   r/   s   & r   "test_missing_header_body_separator2TestDefectsBase.test_missing_header_body_separator   s    
 vFFGG-- MNC Hi[1*,JK 0 0 5!'!H!H I	K HGs   C		C	c                   \         P                  ! R 4      pV P                  V4      pV P                  \        P
                  4      ;_uu_ 4        VP                  RR7      pRRR4       V P                  '       d   R# V P                  XR4       V P                  V P                  V4      \        P
                  .4       R#   + '       g   i     Lh; i)z            Subject: test
            MIME-Version: 1.0
            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: base64

            dmk
            TdecodeN   vi)r   r   r   r   r   InvalidBase64PaddingDefectr   r   r   rL   r   r   r   r    payloads   &   r   "test_bad_padding_in_base64_payload2TestDefectsBase.test_bad_padding_in_base64_payload   s     "  mmF#v@@AAooTo2G B%( 0 0 5!'!B!B C	E	 BA   CC	c                   \         P                  ! R 4      pV P                  V4      pV P                  \        P
                  4      ;_uu_ 4        VP                  RR7      pRRR4       V P                  '       d   R# V P                  XR4       V P                  V P                  V4      \        P
                  .4       R#   + '       g   i     Lh; i)z            Subject: test
            MIME-Version: 1.0
            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: base64

            dmk===
            TrU   NrW   )r   r   r   r   r   InvalidBase64CharactersDefectr   r   r   rL   r   rY   s   &   r   $test_invalid_chars_in_base64_payload4TestDefectsBase.test_invalid_chars_in_base64_payload   s     "  mmF#vCCDDooTo2G E%( 0 0 5!'!E!E F	H	 EDr]   c                   \         P                  ! R 4      pV P                  V4      pV P                  \        P
                  4      ;_uu_ 4        VP                  RR7      pRRR4       V P                  '       d   R# V P                  XR4       V P                  V P                  V4      \        P
                  .4       R#   + '       g   i     Lh; i)z            Subject: test
            MIME-Version: 1.0
            Content-Type: text/plain; charset="utf-8"
            Content-Transfer-Encoding: base64

            abcde
            TrU   Ns   abcde)r   r   r   r   r   InvalidBase64LengthDefectr   r   r   rL   r   rY   s   &   r   %test_invalid_length_of_base64_payload5TestDefectsBase.test_invalid_length_of_base64_payload  s     "  mmF#v??@@ooTo2G A(+ 0 0 5!'!A!A B	D	 A@r]   c                   \         P                  ! R 4      pV P                  \        P                  4      ;_uu_ 4        V P                  V4      pRRR4       V P                  '       d   R# V P                  \        XP                  4       4      ^4       V P                  VP                  ^4      P                  4       R4       V P                  V P                  V4      \        P                  .4       R#   + '       g   i     L; i)a?              To: 1@harrydomain4.com
            Subject: Fwd: 1
            MIME-Version: 1.0
            Content-Type: multipart/alternative;
             boundary="------------000101020201080900040301"

            --------------000101020201080900040301
            Content-Type: text/plain; charset=ISO-8859-1
            Content-Transfer-Encoding: 7bit

            Alternative 1

            --------------000101020201080900040301
            Content-Type: text/html; charset=ISO-8859-1
            Content-Transfer-Encoding: 7bit

            Alternative 2

            NzAlternative 2
)r   r   r   r   CloseBoundaryNotFoundDefectr   r   r   r   r   rL   r   r(   s   &  r   test_missing_ending_boundary,TestDefectsBase.test_missing_ending_boundary  s     " ( vAABB--'C CS__./3+779;LM 0 0 5!'!C!C D	F CBs   C66D	r   N)__name__
__module____qualname____firstlineno__r   defaultr   
contextlibcontextmanagerr   r"   r)   r   r   r-   r0   r5   r=   r@   rE   rN   rR   r[   r`   rd   rh   __static_attributes____classdictcell____classdict__s   @r   r   r   	   s     ^^FN -B^H: OO % M.	B8
HH*$BL	EKE"H"D"F Fr7   r   c                   &   a  ] tR tRt o R tRtV tR# )TestDefectDetectioni0  c                    VP                   # r
   )r   r   objs   &&r   r   TestDefectDetection.get_defects2  s    {{r7   r   N)rj   rk   rl   rm   r   rq   rr   rs   s   @r   rv   rv   0  s      r7   rv   c                   V   a  ] tR tRt o  ! R R]P
                  4      tR tR tRt	V t
R# )TestDefectCapturei6  c                   *   a  ] tR tRt o RtR tRtV tR# )TestDefectCapture.CapturePolicyi8  Nc                <    V P                   P                  V4       R # r
   )capturedappend)r   ry   r   s   &&&r   register_defect/TestDefectCapture.CapturePolicy.register_defect:  s    MM  (r7   r   )rj   rk   rl   rm   r   r   rq   rr   rs   s   @r   CapturePolicyr~   8  s     	) 	)r7   r   c                D    V P                  \        4       R 7      V n        R# ))r   N)r   listr   )r   s   &r   setUpTestDefectCapture.setUp=  s    (($&(9r7   c                .    V P                   P                  # r
   )r   r   rx   s   &&r   r   TestDefectCapture.get_defects@  s    {{###r7   r   N)rj   rk   rl   rm   r   EmailPolicyr   r   r   rq   rr   rs   s   @r   r|   r|   6  s&     )** )
:$ $r7   r|   c                      a  ] tR tRt o ]P
                  t]P                  ! RR7      tRt]P                  R 4       t
RtV tR# )TestDefectRaisingiD  T)raise_on_defectc              #     "   V P                  V4      ;_uu_ 4        R x  R R R 4       R #   + '       g   i     R # ; i5ir
   )assertRaisesr   s   &&r   r   TestDefectRaising._raise_pointJ  s'     v&& '&&&s   ?+
?<		?r   N)rj   rk   rl   rm   r   r   cloner   ro   rp   r   rq   rr   rs   s   @r   r   r   D  s;     ##F\\$/FN r7   r   __main__)r   unittestro   emailr   r   test.test_emailr   r   rv   r|   r   rj   mainr   r7   r   <module>r      sh         )dF dFN	/= $ $	 	 zMMO r7   