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()