[Python-checkins] bpo-39337: Add a test case for normalizing of codec names (GH-19069)

Hai Shi webhook-mailer at python.org
Thu Oct 8 15:21:17 EDT 2020


https://github.com/python/cpython/commit/3f342376ab0da3b4c8a38a27edfafba8e8cdf52d
commit: 3f342376ab0da3b4c8a38a27edfafba8e8cdf52d
branch: master
author: Hai Shi <shihai1992 at gmail.com>
committer: GitHub <noreply at github.com>
date: 2020-10-08T21:20:57+02:00
summary:

bpo-39337: Add a test case for normalizing of codec names (GH-19069)

files:
M Lib/test/test_codecs.py

diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
index ed508f36ad423..ddf4e08af6247 100644
--- a/Lib/test/test_codecs.py
+++ b/Lib/test/test_codecs.py
@@ -3415,5 +3415,30 @@ def test_rot13_func(self):
             'To be, or not to be, that is the question')
 
 
+class CodecNameNormalizationTest(unittest.TestCase):
+    """Test codec name normalization"""
+    def test_normalized_encoding(self):
+        FOUND = (1, 2, 3, 4)
+        NOT_FOUND = (None, None, None, None)
+        def search_function(encoding):
+            if encoding == "aaa_8":
+                return FOUND
+            else:
+                return NOT_FOUND
+
+        codecs.register(search_function)
+        self.addCleanup(codecs.unregister, search_function)
+        self.assertEqual(FOUND, codecs.lookup('aaa_8'))
+        self.assertEqual(FOUND, codecs.lookup('AAA-8'))
+        self.assertEqual(FOUND, codecs.lookup('AAA---8'))
+        self.assertEqual(FOUND, codecs.lookup('AAA   8'))
+        self.assertEqual(FOUND, codecs.lookup('aaa\xe9\u20ac-8'))
+        self.assertEqual(NOT_FOUND, codecs.lookup('AAA.8'))
+        self.assertEqual(NOT_FOUND, codecs.lookup('AAA...8'))
+        self.assertEqual(NOT_FOUND, codecs.lookup('BBB-8'))
+        self.assertEqual(NOT_FOUND, codecs.lookup('BBB.8'))
+        self.assertEqual(NOT_FOUND, codecs.lookup('a\xe9\u20ac-8'))
+
+
 if __name__ == "__main__":
     unittest.main()



More information about the Python-checkins mailing list