diff options
author | Benjamin Peterson <benjamin@python.org> | 2011-06-19 14:38:02 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2011-06-19 14:38:02 (GMT) |
commit | 12f2bffce1be0e36e2cf11a8be80de7fcb76dd54 (patch) | |
tree | 1f37a3639480738daf90d359dbc239ac664860f3 /Lib/test | |
parent | defe6f61fe8595d0d2cc194c120ef0b3dc3a4286 (diff) | |
parent | 2510d9e8d9d3244c8d35efdd01bca265755655de (diff) | |
download | cpython-12f2bffce1be0e36e2cf11a8be80de7fcb76dd54.zip cpython-12f2bffce1be0e36e2cf11a8be80de7fcb76dd54.tar.gz cpython-12f2bffce1be0e36e2cf11a8be80de7fcb76dd54.tar.bz2 |
merge heads
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_email/test_email.py | 17 | ||||
-rw-r--r-- | Lib/test/test_mailbox.py | 13 |
2 files changed, 28 insertions, 2 deletions
diff --git a/Lib/test/test_email/test_email.py b/Lib/test/test_email/test_email.py index 1657afc..17451f3 100644 --- a/Lib/test/test_email/test_email.py +++ b/Lib/test/test_email/test_email.py @@ -4324,12 +4324,27 @@ A very long line that must get split to something other than at the def test_escaped_8bit_header(self): x = b'Ynwp4dUEbay Auction Semiar- No Charge \x96 Earn Big' - x = x.decode('ascii', 'surrogateescape') + e = x.decode('ascii', 'surrogateescape') + h = Header(e, charset=email.charset.UNKNOWN8BIT) + self.assertEqual(str(h), + 'Ynwp4dUEbay Auction Semiar- No Charge \uFFFD Earn Big') + self.assertEqual(email.header.decode_header(h), [(x, 'unknown-8bit')]) + + def test_header_handles_binary_unknown8bit(self): + x = b'Ynwp4dUEbay Auction Semiar- No Charge \x96 Earn Big' h = Header(x, charset=email.charset.UNKNOWN8BIT) self.assertEqual(str(h), 'Ynwp4dUEbay Auction Semiar- No Charge \uFFFD Earn Big') self.assertEqual(email.header.decode_header(h), [(x, 'unknown-8bit')]) + def test_make_header_handles_binary_unknown8bit(self): + x = b'Ynwp4dUEbay Auction Semiar- No Charge \x96 Earn Big' + h = Header(x, charset=email.charset.UNKNOWN8BIT) + h2 = email.header.make_header(email.header.decode_header(h)) + self.assertEqual(str(h2), + 'Ynwp4dUEbay Auction Semiar- No Charge \uFFFD Earn Big') + self.assertEqual(email.header.decode_header(h2), [(x, 'unknown-8bit')]) + def test_modify_returned_list_does_not_change_header(self): h = Header('test') chunks = email.header.decode_header(h) diff --git a/Lib/test/test_mailbox.py b/Lib/test/test_mailbox.py index f5abb41..18aeec7 100644 --- a/Lib/test/test_mailbox.py +++ b/Lib/test/test_mailbox.py @@ -297,6 +297,13 @@ class TestMailbox(TestBase): self.assertEqual(data1.decode('ascii').replace(os.linesep, '\n'), _sample_message) + def test_get_file_can_be_closed_twice(self): + # Issue 11700 + key = self._box.add(_sample_message) + f = self._box.get_file(key) + f.close() + f.close() + def test_iterkeys(self): # Get keys using iterkeys() self._check_iteration(self._box.keys, do_keys=True, do_values=False) @@ -1862,8 +1869,12 @@ class TestProxyFileBase(TestBase): def _test_close(self, proxy): # Close a file + self.assertFalse(proxy.closed) + proxy.close() + self.assertTrue(proxy.closed) + # Issue 11700 subsequent closes should be a no-op. proxy.close() - self.assertRaises(AttributeError, lambda: proxy.close()) + self.assertTrue(proxy.closed) class TestProxyFile(TestProxyFileBase): |