summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_unicode.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-04-05 09:56:37 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-04-05 09:56:37 (GMT)
commit4ff33af2574aa09bc8926c0deb116c886cb745d1 (patch)
tree6e0569571539ed8db712fc7da72fe84ecdcab088 /Lib/test/test_unicode.py
parent89a76abf20889551ec1ed64dee1a4161a435db5b (diff)
downloadcpython-4ff33af2574aa09bc8926c0deb116c886cb745d1.zip
cpython-4ff33af2574aa09bc8926c0deb116c886cb745d1.tar.gz
cpython-4ff33af2574aa09bc8926c0deb116c886cb745d1.tar.bz2
Issue #21118: Add unit test for invalid character replacement (code point higher than U+10ffff)
Diffstat (limited to 'Lib/test/test_unicode.py')
-rw-r--r--Lib/test/test_unicode.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index 58dfa20..7fda51c 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -280,6 +280,14 @@ class UnicodeTest(string_tests.CommonTest,
self.assertEqual("[\xe9]".translate(str.maketrans({'\xe9': None})),
"[]")
+ # invalid Unicode characters
+ invalid_char = 0x10ffff+1
+ for before in "a\xe9\u20ac\U0010ffff":
+ mapping = str.maketrans({before: invalid_char})
+ text = "[%s]" % before
+ self.assertRaises(ValueError, text.translate, mapping)
+
+ # errors
self.assertRaises(TypeError, self.type2test.maketrans)
self.assertRaises(ValueError, self.type2test.maketrans, 'abc', 'defg')
self.assertRaises(TypeError, self.type2test.maketrans, 2, 'def')