diff options
Diffstat (limited to 'Lib/test/test_codecs.py')
| -rw-r--r-- | Lib/test/test_codecs.py | 22 | 
1 files changed, 20 insertions, 2 deletions
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py index 80ec541..5cef4da 100644 --- a/Lib/test/test_codecs.py +++ b/Lib/test/test_codecs.py @@ -2315,6 +2315,24 @@ class TransformCodecTest(unittest.TestCase):              sout = reader.readline()              self.assertEqual(sout, b"\x80") +    def test_buffer_api_usage(self): +        # We check all the transform codecs accept memoryview input +        # for encoding and decoding +        # and also that they roundtrip correctly +        original = b"12345\x80" +        for encoding in bytes_transform_encodings: +            data = original +            view = memoryview(data) +            data = codecs.encode(data, encoding) +            view_encoded = codecs.encode(view, encoding) +            self.assertEqual(view_encoded, data) +            view = memoryview(data) +            data = codecs.decode(data, encoding) +            self.assertEqual(data, original) +            view_decoded = codecs.decode(view, encoding) +            self.assertEqual(view_decoded, data) + +  @unittest.skipUnless(sys.platform == 'win32',                       'code pages are specific to Windows') @@ -2325,8 +2343,8 @@ class CodePageTest(unittest.TestCase):      def test_invalid_code_page(self):          self.assertRaises(ValueError, codecs.code_page_encode, -1, 'a')          self.assertRaises(ValueError, codecs.code_page_decode, -1, b'a') -        self.assertRaises(WindowsError, codecs.code_page_encode, 123, 'a') -        self.assertRaises(WindowsError, codecs.code_page_decode, 123, b'a') +        self.assertRaises(OSError, codecs.code_page_encode, 123, 'a') +        self.assertRaises(OSError, codecs.code_page_decode, 123, b'a')      def test_code_page_name(self):          self.assertRaisesRegex(UnicodeEncodeError, 'cp932',  | 
