ndiffAssertEqual(): Stringify the arguments before running
.splitlines() on them, since they may be Header instances. test_multilingual(), test_header_ctor_default_args(): New tests of make_header() and that Header can take all default arguments.
This commit is contained in:
parent
8da39aa56a
commit
c53b29e2a7
|
@ -14,7 +14,7 @@ import warnings
|
||||||
import email
|
import email
|
||||||
|
|
||||||
from email.Charset import Charset
|
from email.Charset import Charset
|
||||||
from email.Header import Header, decode_header
|
from email.Header import Header, decode_header, make_header
|
||||||
from email.Parser import Parser, HeaderParser
|
from email.Parser import Parser, HeaderParser
|
||||||
from email.Generator import Generator, DecodedGenerator
|
from email.Generator import Generator, DecodedGenerator
|
||||||
from email.Message import Message
|
from email.Message import Message
|
||||||
|
@ -57,7 +57,9 @@ class TestEmailBase(unittest.TestCase):
|
||||||
def ndiffAssertEqual(self, first, second):
|
def ndiffAssertEqual(self, first, second):
|
||||||
"""Like failUnlessEqual except use ndiff for readable output."""
|
"""Like failUnlessEqual except use ndiff for readable output."""
|
||||||
if first <> second:
|
if first <> second:
|
||||||
diff = difflib.ndiff(first.splitlines(), second.splitlines())
|
sfirst = str(first)
|
||||||
|
ssecond = str(second)
|
||||||
|
diff = difflib.ndiff(sfirst.splitlines(), ssecond.splitlines())
|
||||||
fp = StringIO()
|
fp = StringIO()
|
||||||
print >> fp, NL, NL.join(diff)
|
print >> fp, NL, NL.join(diff)
|
||||||
raise self.failureException, fp.getvalue()
|
raise self.failureException, fp.getvalue()
|
||||||
|
@ -1026,7 +1028,7 @@ Here is the body of the message.
|
||||||
def test_dsn(self):
|
def test_dsn(self):
|
||||||
eq = self.assertEqual
|
eq = self.assertEqual
|
||||||
unless = self.failUnless
|
unless = self.failUnless
|
||||||
# msg 16 is a Delivery Status Notification, see RFC XXXX
|
# msg 16 is a Delivery Status Notification, see RFC 1894
|
||||||
msg = self._msgobj('msg_16.txt')
|
msg = self._msgobj('msg_16.txt')
|
||||||
eq(msg.get_type(), 'multipart/report')
|
eq(msg.get_type(), 'multipart/report')
|
||||||
unless(msg.is_multipart())
|
unless(msg.is_multipart())
|
||||||
|
@ -1878,7 +1880,7 @@ class TestHeader(TestEmailBase):
|
||||||
self.failUnless(len(l) <= 76)
|
self.failUnless(len(l) <= 76)
|
||||||
|
|
||||||
def test_multilingual(self):
|
def test_multilingual(self):
|
||||||
eq = self.assertEqual
|
eq = self.ndiffAssertEqual
|
||||||
g = Charset("iso-8859-1")
|
g = Charset("iso-8859-1")
|
||||||
cz = Charset("iso-8859-2")
|
cz = Charset("iso-8859-2")
|
||||||
utf8 = Charset("utf-8")
|
utf8 = Charset("utf-8")
|
||||||
|
@ -1929,6 +1931,16 @@ class TestHeader(TestEmailBase):
|
||||||
'und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt '
|
'und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt '
|
||||||
'gersput.\xe3\x80\x8d\xe3\x81\xa8\xe8\xa8\x80\xe3\x81\xa3\xe3\x81'
|
'gersput.\xe3\x80\x8d\xe3\x81\xa8\xe8\xa8\x80\xe3\x81\xa3\xe3\x81'
|
||||||
'\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82')
|
'\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82')
|
||||||
|
# Test make_header()
|
||||||
|
newh = make_header(decode_header(enc))
|
||||||
|
eq(newh, enc)
|
||||||
|
|
||||||
|
def test_header_ctor_default_args(self):
|
||||||
|
eq = self.ndiffAssertEqual
|
||||||
|
h = Header()
|
||||||
|
eq(h, '')
|
||||||
|
h.append('foo', Charset('iso-8859-1'))
|
||||||
|
eq(h, '=?iso-8859-1?q?foo?=')
|
||||||
|
|
||||||
def test_explicit_maxlinelen(self):
|
def test_explicit_maxlinelen(self):
|
||||||
eq = self.ndiffAssertEqual
|
eq = self.ndiffAssertEqual
|
||||||
|
|
Loading…
Reference in New Issue