diff options
| author | Walter Dörwald <walter@livinglogic.de> | 2003-05-22 17:32:40 +0000 | 
|---|---|---|
| committer | Walter Dörwald <walter@livinglogic.de> | 2003-05-22 17:32:40 +0000 | 
| commit | 8891021229abb3bc4a9732c8cfa1993dccde8674 (patch) | |
| tree | 08b75fd0083e5b9011b66a401d83318375cdcb48 /Lib/test/test_mimetools.py | |
| parent | fee10040b4289560b5747d9e774e7a2d5d058605 (diff) | |
| download | cpython-git-8891021229abb3bc4a9732c8cfa1993dccde8674.tar.gz | |
Port test_mimetools.py to PyUnit and add various tests.
From SF patch #736962.
Diffstat (limited to 'Lib/test/test_mimetools.py')
| -rw-r--r-- | Lib/test/test_mimetools.py | 69 | 
1 files changed, 51 insertions, 18 deletions
| diff --git a/Lib/test/test_mimetools.py b/Lib/test/test_mimetools.py index 79464a2eaf..52809fa2b0 100644 --- a/Lib/test/test_mimetools.py +++ b/Lib/test/test_mimetools.py @@ -1,18 +1,51 @@ -from test.test_support import TestFailed -import mimetools - -import string,StringIO -start = string.ascii_letters + "=" + string.digits + "\n" -for enc in ['7bit','8bit','base64','quoted-printable']: -    print enc, -    i = StringIO.StringIO(start) -    o = StringIO.StringIO() -    mimetools.encode(i,o,enc) -    i = StringIO.StringIO(o.getvalue()) -    o = StringIO.StringIO() -    mimetools.decode(i,o,enc) -    if o.getvalue()==start: -        print "PASS" -    else: -        print "FAIL" -        print o.getvalue() +import unittest +from test import test_support + +import string, StringIO, mimetools, sets + +msgtext1 = mimetools.Message(StringIO.StringIO( +"""Content-Type: text/plain; charset=iso-8859-1; format=flowed +Content-Transfer-Encoding: 8bit + +Foo! +""")) + +class MimeToolsTest(unittest.TestCase): + +    def test_decodeencode(self): +        start = string.ascii_letters + "=" + string.digits + "\n" +        for enc in ['7bit','8bit','base64','quoted-printable', +                    'uuencode', 'x-uuencode', 'uue', 'x-uue']: +            i = StringIO.StringIO(start) +            o = StringIO.StringIO() +            mimetools.encode(i, o, enc) +            i = StringIO.StringIO(o.getvalue()) +            o = StringIO.StringIO() +            mimetools.decode(i, o, enc) +            self.assertEqual(o.getvalue(), start) + +    def test_boundary(self): +        s = sets.Set([""]) +        for i in xrange(100): +            nb = mimetools.choose_boundary() +            self.assert_(nb not in s) +            s.add(nb) + +    def test_message(self): +        msg = mimetools.Message(StringIO.StringIO(msgtext1)) +        self.assertEqual(msg.gettype(), "text/plain") +        self.assertEqual(msg.getmaintype(), "text") +        self.assertEqual(msg.getsubtype(), "plain") +        self.assertEqual(msg.getplist(), ["charset=iso-8859-1", "format=flowed"]) +        self.assertEqual(msg.getparamnames(), ["charset", "format"]) +        self.assertEqual(msg.getparam("charset"), "iso-8859-1") +        self.assertEqual(msg.getparam("format"), "flowed") +        self.assertEqual(msg.getparam("spam"), None) +        self.assertEqual(msg.getencoding(), "8bit") + +def test_main(): +    test_support.run_unittest(MimeToolsTest) + +if __name__=="__main__": +    test_main() + | 
