python-2.5.2/win32/Lib/test/test_multifile.py
changeset 0 ae805ac0140d
equal deleted inserted replaced
-1:000000000000 0:ae805ac0140d
       
     1 import mimetools
       
     2 import multifile
       
     3 import cStringIO
       
     4 
       
     5 msg = """Mime-Version: 1.0
       
     6 Content-Type: multipart/mixed;
       
     7         boundary="=====================_590453667==_"
       
     8 X-OriginalArrivalTime: 05 Feb 2002 03:43:23.0310 (UTC) FILETIME=[42D88CE0:01C1ADF7]
       
     9 
       
    10 --=====================_590453667==_
       
    11 Content-Type: multipart/alternative;
       
    12         boundary="=====================_590453677==_.ALT"
       
    13 
       
    14 --=====================_590453677==_.ALT
       
    15 Content-Type: text/plain; charset="us-ascii"; format=flowed
       
    16 
       
    17 test A
       
    18 --=====================_590453677==_.ALT
       
    19 Content-Type: text/html; charset="us-ascii"
       
    20 
       
    21 <html>
       
    22 <b>test B</font></b></html>
       
    23 
       
    24 --=====================_590453677==_.ALT--
       
    25 
       
    26 --=====================_590453667==_
       
    27 Content-Type: text/plain; charset="us-ascii"
       
    28 Content-Disposition: attachment; filename="att.txt"
       
    29 
       
    30 Attached Content.
       
    31 Attached Content.
       
    32 Attached Content.
       
    33 Attached Content.
       
    34 
       
    35 --=====================_590453667==_--
       
    36 
       
    37 """
       
    38 
       
    39 def getMIMEMsg(mf):
       
    40     global boundaries, linecount
       
    41     msg = mimetools.Message(mf)
       
    42 
       
    43     #print "TYPE: %s" % msg.gettype()
       
    44     if msg.getmaintype() == 'multipart':
       
    45         boundary = msg.getparam("boundary")
       
    46         boundaries += 1
       
    47 
       
    48         mf.push(boundary)
       
    49         while mf.next():
       
    50             getMIMEMsg(mf)
       
    51         mf.pop()
       
    52     else:
       
    53         lines = mf.readlines()
       
    54         linecount += len(lines)
       
    55 
       
    56 def test_main():
       
    57     global boundaries, linecount
       
    58     boundaries = 0
       
    59     linecount = 0
       
    60     f = cStringIO.StringIO(msg)
       
    61     getMIMEMsg(multifile.MultiFile(f))
       
    62     assert boundaries == 2
       
    63     assert linecount == 9
       
    64 
       
    65 if __name__ == '__main__':
       
    66     test_main()