mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Added tests for MIMEAudio class/module
This commit is contained in:
parent
2ae0b0163a
commit
fee435af8b
1 changed files with 69 additions and 4 deletions
|
@ -13,6 +13,7 @@ import email
|
||||||
from email.Parser import Parser
|
from email.Parser import Parser
|
||||||
from email.Generator import Generator, DecodedGenerator
|
from email.Generator import Generator, DecodedGenerator
|
||||||
from email.Message import Message
|
from email.Message import Message
|
||||||
|
from email.MIMEAudio import MIMEAudio
|
||||||
from email.MIMEText import MIMEText
|
from email.MIMEText import MIMEText
|
||||||
from email.MIMEImage import MIMEImage
|
from email.MIMEImage import MIMEImage
|
||||||
from email.MIMEBase import MIMEBase
|
from email.MIMEBase import MIMEBase
|
||||||
|
@ -22,7 +23,8 @@ from email import Errors
|
||||||
from email import Encoders
|
from email import Encoders
|
||||||
from email import Iterators
|
from email import Iterators
|
||||||
|
|
||||||
import test.regrtest
|
import test_email
|
||||||
|
from test_support import findfile
|
||||||
|
|
||||||
NL = '\n'
|
NL = '\n'
|
||||||
EMPTYSTRING = ''
|
EMPTYSTRING = ''
|
||||||
|
@ -30,8 +32,7 @@ EMPTYSTRING = ''
|
||||||
|
|
||||||
|
|
||||||
def openfile(filename):
|
def openfile(filename):
|
||||||
path = os.path.join(os.path.dirname(test.regrtest.__file__),
|
path = os.path.join(os.path.dirname(test_email.__file__), 'data', filename)
|
||||||
'data', filename)
|
|
||||||
return open(path)
|
return open(path)
|
||||||
|
|
||||||
|
|
||||||
|
@ -310,6 +311,60 @@ Blah blah blah
|
||||||
""")
|
""")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Test the basic MIMEAudio class
|
||||||
|
class TestMIMEAudio(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
# In Python, audiotest.au lives in Lib/test not Lib/test/data
|
||||||
|
fp = open(findfile('audiotest.au'))
|
||||||
|
try:
|
||||||
|
self._audiodata = fp.read()
|
||||||
|
finally:
|
||||||
|
fp.close()
|
||||||
|
self._au = MIMEAudio(self._audiodata)
|
||||||
|
|
||||||
|
def test_guess_minor_type(self):
|
||||||
|
self.assertEqual(self._au.get_type(), 'audio/basic')
|
||||||
|
|
||||||
|
def test_encoding(self):
|
||||||
|
payload = self._au.get_payload()
|
||||||
|
self.assertEqual(base64.decodestring(payload), self._audiodata)
|
||||||
|
|
||||||
|
def checkSetMinor(self):
|
||||||
|
au = MIMEAudio(self._audiodata, 'fish')
|
||||||
|
self.assertEqual(im.get_type(), 'audio/fish')
|
||||||
|
|
||||||
|
def test_custom_encoder(self):
|
||||||
|
eq = self.assertEqual
|
||||||
|
def encoder(msg):
|
||||||
|
orig = msg.get_payload()
|
||||||
|
msg.set_payload(0)
|
||||||
|
msg['Content-Transfer-Encoding'] = 'broken64'
|
||||||
|
au = MIMEAudio(self._audiodata, _encoder=encoder)
|
||||||
|
eq(au.get_payload(), 0)
|
||||||
|
eq(au['content-transfer-encoding'], 'broken64')
|
||||||
|
|
||||||
|
def test_add_header(self):
|
||||||
|
eq = self.assertEqual
|
||||||
|
unless = self.failUnless
|
||||||
|
self._au.add_header('Content-Disposition', 'attachment',
|
||||||
|
filename='audiotest.au')
|
||||||
|
eq(self._au['content-disposition'],
|
||||||
|
'attachment; filename="audiotest.au"')
|
||||||
|
eq(self._au.get_params(header='content-disposition'),
|
||||||
|
[('attachment', ''), ('filename', 'audiotest.au')])
|
||||||
|
eq(self._au.get_param('filename', header='content-disposition'),
|
||||||
|
'audiotest.au')
|
||||||
|
missing = []
|
||||||
|
eq(self._au.get_param('attachment', header='content-disposition'), '')
|
||||||
|
unless(self._au.get_param('foo', failobj=missing,
|
||||||
|
header='content-disposition') is missing)
|
||||||
|
# Try some missing stuff
|
||||||
|
unless(self._au.get_param('foobar', missing) is missing)
|
||||||
|
unless(self._au.get_param('attachment', missing,
|
||||||
|
header='foobar') is missing)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Test the basic MIMEImage class
|
# Test the basic MIMEImage class
|
||||||
class TestMIMEImage(unittest.TestCase):
|
class TestMIMEImage(unittest.TestCase):
|
||||||
|
@ -768,7 +823,6 @@ class TestMiscellaneous(unittest.TestCase):
|
||||||
for subpart in msg.walk():
|
for subpart in msg.walk():
|
||||||
unless(isinstance(subpart, MyMessage))
|
unless(isinstance(subpart, MyMessage))
|
||||||
|
|
||||||
|
|
||||||
def test_message_from_file_with_class(self):
|
def test_message_from_file_with_class(self):
|
||||||
unless = self.failUnless
|
unless = self.failUnless
|
||||||
# Create a subclass
|
# Create a subclass
|
||||||
|
@ -790,6 +844,16 @@ class TestMiscellaneous(unittest.TestCase):
|
||||||
for subpart in msg.walk():
|
for subpart in msg.walk():
|
||||||
unless(isinstance(subpart, MyMessage))
|
unless(isinstance(subpart, MyMessage))
|
||||||
|
|
||||||
|
def test__all__(self):
|
||||||
|
module = __import__('email')
|
||||||
|
all = module.__all__
|
||||||
|
all.sort()
|
||||||
|
self.assertEqual(all, ['Encoders', 'Errors', 'Generator', 'Iterators',
|
||||||
|
'MIMEAudio', 'MIMEBase', 'MIMEImage',
|
||||||
|
'MIMEMessage', 'MIMEText', 'Message', 'Parser',
|
||||||
|
'Utils',
|
||||||
|
'message_from_file', 'message_from_string'])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Test the iterator/generators
|
# Test the iterator/generators
|
||||||
|
@ -830,6 +894,7 @@ def suite():
|
||||||
suite.addTest(unittest.makeSuite(TestEncoders))
|
suite.addTest(unittest.makeSuite(TestEncoders))
|
||||||
suite.addTest(unittest.makeSuite(TestLongHeaders))
|
suite.addTest(unittest.makeSuite(TestLongHeaders))
|
||||||
suite.addTest(unittest.makeSuite(TestFromMangling))
|
suite.addTest(unittest.makeSuite(TestFromMangling))
|
||||||
|
suite.addTest(unittest.makeSuite(TestMIMEAudio))
|
||||||
suite.addTest(unittest.makeSuite(TestMIMEImage))
|
suite.addTest(unittest.makeSuite(TestMIMEImage))
|
||||||
suite.addTest(unittest.makeSuite(TestMIMEText))
|
suite.addTest(unittest.makeSuite(TestMIMEText))
|
||||||
suite.addTest(unittest.makeSuite(TestMultipartMixed))
|
suite.addTest(unittest.makeSuite(TestMultipartMixed))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue