|
14 | 14 | import email |
15 | 15 |
|
16 | 16 | from email.Charset import Charset |
17 | | -from email.Header import Header, decode_header |
| 17 | +from email.Header import Header, decode_header, make_header |
18 | 18 | from email.Parser import Parser, HeaderParser |
19 | 19 | from email.Generator import Generator, DecodedGenerator |
20 | 20 | from email.Message import Message |
@@ -57,7 +57,9 @@ class TestEmailBase(unittest.TestCase): |
57 | 57 | def ndiffAssertEqual(self, first, second): |
58 | 58 | """Like failUnlessEqual except use ndiff for readable output.""" |
59 | 59 | if first <> second: |
60 | | - diff = difflib.ndiff(first.splitlines(), second.splitlines()) |
| 60 | + sfirst = str(first) |
| 61 | + ssecond = str(second) |
| 62 | + diff = difflib.ndiff(sfirst.splitlines(), ssecond.splitlines()) |
61 | 63 | fp = StringIO() |
62 | 64 | print >> fp, NL, NL.join(diff) |
63 | 65 | raise self.failureException, fp.getvalue() |
@@ -1026,7 +1028,7 @@ def test_parse_message_rfc822(self): |
1026 | 1028 | def test_dsn(self): |
1027 | 1029 | eq = self.assertEqual |
1028 | 1030 | unless = self.failUnless |
1029 | | - # msg 16 is a Delivery Status Notification, see RFC XXXX |
| 1031 | + # msg 16 is a Delivery Status Notification, see RFC 1894 |
1030 | 1032 | msg = self._msgobj('msg_16.txt') |
1031 | 1033 | eq(msg.get_type(), 'multipart/report') |
1032 | 1034 | unless(msg.is_multipart()) |
@@ -1878,7 +1880,7 @@ def test_long(self): |
1878 | 1880 | self.failUnless(len(l) <= 76) |
1879 | 1881 |
|
1880 | 1882 | def test_multilingual(self): |
1881 | | - eq = self.assertEqual |
| 1883 | + eq = self.ndiffAssertEqual |
1882 | 1884 | g = Charset("iso-8859-1") |
1883 | 1885 | cz = Charset("iso-8859-2") |
1884 | 1886 | utf8 = Charset("utf-8") |
@@ -1929,6 +1931,16 @@ def test_multilingual(self): |
1929 | 1931 | 'und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt ' |
1930 | 1932 | 'gersput.\xe3\x80\x8d\xe3\x81\xa8\xe8\xa8\x80\xe3\x81\xa3\xe3\x81' |
1931 | 1933 | '\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82') |
| 1934 | + # Test make_header() |
| 1935 | + newh = make_header(decode_header(enc)) |
| 1936 | + eq(newh, enc) |
| 1937 | + |
| 1938 | + def test_header_ctor_default_args(self): |
| 1939 | + eq = self.ndiffAssertEqual |
| 1940 | + h = Header() |
| 1941 | + eq(h, '') |
| 1942 | + h.append('foo', Charset('iso-8859-1')) |
| 1943 | + eq(h, '=?iso-8859-1?q?foo?=') |
1932 | 1944 |
|
1933 | 1945 | def test_explicit_maxlinelen(self): |
1934 | 1946 | eq = self.ndiffAssertEqual |
|
0 commit comments