#11062: Fix adding a message from file to Babyl mailbox
This commit is contained in:
parent
becfcc0a6b
commit
2d44ceeada
|
@ -1386,9 +1386,9 @@ class Babyl(_singlefileMailbox):
|
|||
line = message.readline()
|
||||
self._file.write(line.replace('\n', os.linesep))
|
||||
if line == '\n' or line == '':
|
||||
self._file.write('*** EOOH ***' + os.linesep)
|
||||
if first_pass:
|
||||
first_pass = False
|
||||
self._file.write('*** EOOH ***' + os.linesep)
|
||||
message.seek(original_pos)
|
||||
else:
|
||||
break
|
||||
|
|
|
@ -8,6 +8,7 @@ import email.message
|
|||
import re
|
||||
import shutil
|
||||
import StringIO
|
||||
import tempfile
|
||||
from test import test_support
|
||||
import unittest
|
||||
import mailbox
|
||||
|
@ -75,6 +76,18 @@ class TestMailbox(TestBase):
|
|||
for i in (1, 2, 3, 4):
|
||||
self._check_sample(self._box[keys[i]])
|
||||
|
||||
def test_add_file(self):
|
||||
with tempfile.TemporaryFile('w+') as f:
|
||||
f.write(_sample_message)
|
||||
f.seek(0)
|
||||
key = self._box.add(f)
|
||||
self.assertEqual(self._box.get_string(key).split('\n'),
|
||||
_sample_message.split('\n'))
|
||||
|
||||
def test_add_StringIO(self):
|
||||
key = self._box.add(StringIO.StringIO(self._template % "0"))
|
||||
self.assertEqual(self._box.get_string(key), self._template % "0")
|
||||
|
||||
def test_remove(self):
|
||||
# Remove messages using remove()
|
||||
self._test_remove_or_delitem(self._box.remove)
|
||||
|
|
Loading…
Reference in New Issue