Skip to content

Commit b7dd2ca

Browse files
authored
gh-94808: Cover str.rsplit for UCS1, UCS2 or UCS4 (#98228)
1 parent f437031 commit b7dd2ca

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

Lib/test/string_tests.py

+8
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,11 @@ def test_split(self):
505505
self.checkraises(ValueError, 'hello', 'split', '', 0)
506506

507507
def test_rsplit(self):
508+
# without arg
509+
self.checkequal(['a', 'b', 'c', 'd'], 'a b c d', 'rsplit')
510+
self.checkequal(['a', 'b', 'c', 'd'], 'a b c d', 'rsplit')
511+
self.checkequal([], '', 'rsplit')
512+
508513
# by a char
509514
self.checkequal(['a', 'b', 'c', 'd'], 'a|b|c|d', 'rsplit', '|')
510515
self.checkequal(['a|b|c', 'd'], 'a|b|c|d', 'rsplit', '|', 1)
@@ -558,6 +563,9 @@ def test_rsplit(self):
558563

559564
# with keyword args
560565
self.checkequal(['a', 'b', 'c', 'd'], 'a|b|c|d', 'rsplit', sep='|')
566+
self.checkequal(['a', 'b', 'c', 'd'], 'a b c d', 'rsplit', sep=None)
567+
self.checkequal(['a b c', 'd'],
568+
'a b c d', 'rsplit', sep=None, maxsplit=1)
561569
self.checkequal(['a|b|c', 'd'],
562570
'a|b|c|d', 'rsplit', '|', maxsplit=1)
563571
self.checkequal(['a|b|c', 'd'],

Lib/test/test_unicode.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -445,10 +445,10 @@ def test_split(self):
445445
def test_rsplit(self):
446446
string_tests.CommonTest.test_rsplit(self)
447447
# test mixed kinds
448-
for left, right in ('ba', '\u0101\u0100', '\U00010301\U00010300'):
448+
for left, right in ('ba', 'юё', '\u0101\u0100', '\U00010301\U00010300'):
449449
left *= 9
450450
right *= 9
451-
for delim in ('c', '\u0102', '\U00010302'):
451+
for delim in ('c', 'ы', '\u0102', '\U00010302'):
452452
self.checkequal([left + right],
453453
left + right, 'rsplit', delim)
454454
self.checkequal([left, right],
@@ -458,6 +458,10 @@ def test_rsplit(self):
458458
self.checkequal([left, right],
459459
left + delim * 2 + right, 'rsplit', delim *2)
460460

461+
# Check `None` as well:
462+
self.checkequal([left + right],
463+
left + right, 'rsplit', None)
464+
461465
def test_partition(self):
462466
string_tests.MixinStrUnicodeUserStringTest.test_partition(self)
463467
# test mixed kinds

0 commit comments

Comments
 (0)