summaryrefslogtreecommitdiff
path: root/Lib/test/test_codecs.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_codecs.py')
-rw-r--r--Lib/test/test_codecs.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
index 8c14f5981d..f665febfc9 100644
--- a/Lib/test/test_codecs.py
+++ b/Lib/test/test_codecs.py
@@ -3146,6 +3146,27 @@ class Latin1Test(unittest.TestCase):
self.assertEqual(data.decode('latin1'), expected)
+class StreamRecoderTest(unittest.TestCase):
+ def test_writelines(self):
+ bio = io.BytesIO()
+ codec = codecs.lookup('ascii')
+ sr = codecs.StreamRecoder(bio, codec.encode, codec.decode,
+ encodings.ascii.StreamReader, encodings.ascii.StreamWriter)
+ sr.writelines([b'a', b'b'])
+ self.assertEqual(bio.getvalue(), b'ab')
+
+ def test_write(self):
+ bio = io.BytesIO()
+ codec = codecs.lookup('latin1')
+ # Recode from Latin-1 to utf-8.
+ sr = codecs.StreamRecoder(bio, codec.encode, codec.decode,
+ encodings.utf_8.StreamReader, encodings.utf_8.StreamWriter)
+
+ text = 'àñé'
+ sr.write(text.encode('latin1'))
+ self.assertEqual(bio.getvalue(), text.encode('utf-8'))
+
+
@unittest.skipIf(_testcapi is None, 'need _testcapi module')
class LocaleCodecTest(unittest.TestCase):
"""