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