Close #15534: Fix a typo in the fast search function of the string library (_s => s)
Replace _s with ptr to avoid future confusion. Add also non regression tests.
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index eeeb457..8da3e77 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -262,6 +262,9 @@
# issue 7458
self.checkequal(-1, 'ab', 'rfind', 'xxx', sys.maxsize + 1, 0)
+ # issue #15534
+ self.checkequal(0, '<......\u043c...', "rfind", "<")
+
def test_index(self):
self.checkequal(0, 'abcdefghiabc', 'index', '')
self.checkequal(3, 'abcdefghiabc', 'index', 'def')
@@ -597,6 +600,8 @@
EQ("ReyKKjavik", "Reykjavik", "replace", "k", "KK", 1)
EQ("Reykjavik", "Reykjavik", "replace", "k", "KK", 0)
EQ("A----B----C----", "A.B.C.", "replace", ".", "----")
+ # issue #15534
+ EQ('...\u043c......<', '...\u043c......<', "replace", "<", "<")
EQ("Reykjavik", "Reykjavik", "replace", "q", "KK")
@@ -1316,6 +1321,9 @@
self.assertRaisesRegex(TypeError, r'^endswith\(', s.endswith,
x, None, None, None)
+ # issue #15534
+ self.checkequal(10, "...\u043c......<", "find", "<")
+
class MixinStrUnicodeTest:
# Additional tests that only work with str and unicode.