mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
Issue #21118: Add more unit tests on str.translate()
This commit is contained in:
parent
8a4422e78d
commit
5a29f25843
1 changed files with 20 additions and 0 deletions
|
@ -251,6 +251,7 @@ class UnicodeTest(string_tests.CommonTest,
|
|||
{ord('a'): None, ord('b'): ''})
|
||||
self.checkequalnofix('xyyx', 'xzx', 'translate',
|
||||
{ord('z'): 'yy'})
|
||||
|
||||
# this needs maketrans()
|
||||
self.checkequalnofix('abababc', 'abababc', 'translate',
|
||||
{'b': '<i>'})
|
||||
|
@ -260,6 +261,25 @@ class UnicodeTest(string_tests.CommonTest,
|
|||
tbl = self.type2test.maketrans('abc', 'xyz', 'd')
|
||||
self.checkequalnofix('xyzzy', 'abdcdcbdddd', 'translate', tbl)
|
||||
|
||||
# various tests switching from ASCII to latin1 or the opposite;
|
||||
# same length, remove a letter, or replace with a longer string.
|
||||
self.assertEqual("[a]".translate(str.maketrans('a', 'X')),
|
||||
"[X]")
|
||||
self.assertEqual("[a]".translate(str.maketrans({'a': 'X'})),
|
||||
"[X]")
|
||||
self.assertEqual("[a]".translate(str.maketrans({'a': None})),
|
||||
"[]")
|
||||
self.assertEqual("[a]".translate(str.maketrans({'a': 'XXX'})),
|
||||
"[XXX]")
|
||||
self.assertEqual("[a]".translate(str.maketrans({'a': '\xe9'})),
|
||||
"[\xe9]")
|
||||
self.assertEqual("[a]".translate(str.maketrans({'a': '<\xe9>'})),
|
||||
"[<\xe9>]")
|
||||
self.assertEqual("[\xe9]".translate(str.maketrans({'\xe9': 'a'})),
|
||||
"[a]")
|
||||
self.assertEqual("[\xe9]".translate(str.maketrans({'\xe9': None})),
|
||||
"[]")
|
||||
|
||||
self.assertRaises(TypeError, self.type2test.maketrans)
|
||||
self.assertRaises(ValueError, self.type2test.maketrans, 'abc', 'defg')
|
||||
self.assertRaises(TypeError, self.type2test.maketrans, 2, 'def')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue