|
3 | 3 | import unittest |
4 | 4 | from email import errors |
5 | 5 | from email import policy |
| 6 | +from email.message import Message |
6 | 7 | from test.test_email import TestEmailBase |
7 | 8 | from email import _headerregistry |
8 | 9 | # Address and Group are public but I'm not sure where to put them yet. |
@@ -168,6 +169,12 @@ def test_datetime_read_only(self): |
168 | 169 | with self.assertRaises(AttributeError): |
169 | 170 | h.datetime = 'foo' |
170 | 171 |
|
| 172 | + def test_set_date_header_from_datetime(self): |
| 173 | + m = Message(policy=policy.default) |
| 174 | + m['Date'] = self.dt |
| 175 | + self.assertEqual(m['Date'], self.datestring) |
| 176 | + self.assertEqual(m['Date'].datetime, self.dt) |
| 177 | + |
171 | 178 |
|
172 | 179 | class TestAddressHeader(TestHeaderBase): |
173 | 180 |
|
@@ -625,6 +632,20 @@ def test_display_name_blanks_not_quoted(self): |
625 | 632 | self.assertEqual(g.addresses, tuple()) |
626 | 633 | self.assertEqual(str(g), 'foo bar:;') |
627 | 634 |
|
| 635 | + def test_set_message_header_from_address(self): |
| 636 | + a = Address('foo', 'bar', 'example.com') |
| 637 | + m = Message(policy=policy.default) |
| 638 | + m['To'] = a |
| 639 | + self. assertEqual( m[ 'to'], 'foo <[email protected]>') |
| 640 | + self.assertEqual(m['to'].addresses, (a,)) |
| 641 | + |
| 642 | + def test_set_message_header_from_group(self): |
| 643 | + g = Group('foo bar') |
| 644 | + m = Message(policy=policy.default) |
| 645 | + m['To'] = g |
| 646 | + self.assertEqual(m['to'], 'foo bar:;') |
| 647 | + self.assertEqual(m['to'].addresses, g.addresses) |
| 648 | + |
628 | 649 |
|
629 | 650 | class TestFolding(TestHeaderBase): |
630 | 651 |
|
@@ -713,5 +734,6 @@ def test_fold_date_header(self): |
713 | 734 | 'Date: Sat, 02 Feb 2002 17:00:06 -0800\n') |
714 | 735 |
|
715 | 736 |
|
| 737 | + |
716 | 738 | if __name__ == '__main__': |
717 | 739 | unittest.main() |
0 commit comments