github.com/grumpyhome/grumpy@v0.3.1-0.20201208125205-7b775405bdf1/grumpy-runtime-src/third_party/stdlib/test/test_mimetools.py (about) 1 import unittest 2 from test import test_support 3 4 import string 5 import StringIO 6 7 #mimetools = test_support.import_module("mimetools", deprecated=True) 8 import mimetools 9 10 msgtext1 = mimetools.Message(StringIO.StringIO( 11 """Content-Type: text/plain; charset=iso-8859-1; format=flowed 12 Content-Transfer-Encoding: 8bit 13 14 Foo! 15 """)) 16 17 class MimeToolsTest(unittest.TestCase): 18 19 def test_decodeencode(self): 20 start = string.ascii_letters + "=" + string.digits + "\n" 21 for enc in ['7bit','8bit','base64','quoted-printable', 22 'uuencode', 'x-uuencode', 'uue', 'x-uue']: 23 i = StringIO.StringIO(start) 24 o = StringIO.StringIO() 25 mimetools.encode(i, o, enc) 26 i = StringIO.StringIO(o.getvalue()) 27 o = StringIO.StringIO() 28 mimetools.decode(i, o, enc) 29 self.assertEqual(o.getvalue(), start) 30 31 @unittest.expectedFailure 32 def test_boundary(self): 33 s = set([""]) 34 for i in xrange(100): 35 nb = mimetools.choose_boundary() 36 self.assertNotIn(nb, s) 37 s.add(nb) 38 39 def test_message(self): 40 msg = mimetools.Message(StringIO.StringIO(msgtext1)) 41 self.assertEqual(msg.gettype(), "text/plain") 42 self.assertEqual(msg.getmaintype(), "text") 43 self.assertEqual(msg.getsubtype(), "plain") 44 self.assertEqual(msg.getplist(), ["charset=iso-8859-1", "format=flowed"]) 45 self.assertEqual(msg.getparamnames(), ["charset", "format"]) 46 self.assertEqual(msg.getparam("charset"), "iso-8859-1") 47 self.assertEqual(msg.getparam("format"), "flowed") 48 self.assertEqual(msg.getparam("spam"), None) 49 self.assertEqual(msg.getencoding(), "8bit") 50 51 def test_main(): 52 test_support.run_unittest(MimeToolsTest) 53 54 if __name__=="__main__": 55 test_main()