mirror of
https://github.com/python/cpython.git
synced 2025-07-12 13:55:34 +00:00
gh-94808: Improve coverage of unicode_find
and unicode_rfind
(GH-98648)
(cherry picked from commit b1783bc124
)
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
This commit is contained in:
parent
fa95b69856
commit
18b788c63a
1 changed files with 27 additions and 0 deletions
|
@ -257,6 +257,20 @@ class UnicodeTest(string_tests.CommonTest,
|
|||
self.checkequalnofix(9, 'abcdefghiabc', 'find', 'abc', 1)
|
||||
self.checkequalnofix(-1, 'abcdefghiabc', 'find', 'def', 4)
|
||||
|
||||
# test utf-8 non-ascii char
|
||||
self.checkequal(0, 'тест', 'find', 'т')
|
||||
self.checkequal(3, 'тест', 'find', 'т', 1)
|
||||
self.checkequal(-1, 'тест', 'find', 'т', 1, 3)
|
||||
self.checkequal(-1, 'тест', 'find', 'e') # english `e`
|
||||
# test utf-8 non-ascii slice
|
||||
self.checkequal(1, 'тест тест', 'find', 'ес')
|
||||
self.checkequal(1, 'тест тест', 'find', 'ес', 1)
|
||||
self.checkequal(1, 'тест тест', 'find', 'ес', 1, 3)
|
||||
self.checkequal(6, 'тест тест', 'find', 'ес', 2)
|
||||
self.checkequal(-1, 'тест тест', 'find', 'ес', 6, 7)
|
||||
self.checkequal(-1, 'тест тест', 'find', 'ес', 7)
|
||||
self.checkequal(-1, 'тест тест', 'find', 'ec') # english `ec`
|
||||
|
||||
self.assertRaises(TypeError, 'hello'.find)
|
||||
self.assertRaises(TypeError, 'hello'.find, 42)
|
||||
# test mixed kinds
|
||||
|
@ -287,6 +301,19 @@ class UnicodeTest(string_tests.CommonTest,
|
|||
self.checkequalnofix(9, 'abcdefghiabc', 'rfind', 'abc')
|
||||
self.checkequalnofix(12, 'abcdefghiabc', 'rfind', '')
|
||||
self.checkequalnofix(12, 'abcdefghiabc', 'rfind', '')
|
||||
# test utf-8 non-ascii char
|
||||
self.checkequal(1, 'тест', 'rfind', 'е')
|
||||
self.checkequal(1, 'тест', 'rfind', 'е', 1)
|
||||
self.checkequal(-1, 'тест', 'rfind', 'е', 2)
|
||||
self.checkequal(-1, 'тест', 'rfind', 'e') # english `e`
|
||||
# test utf-8 non-ascii slice
|
||||
self.checkequal(6, 'тест тест', 'rfind', 'ес')
|
||||
self.checkequal(6, 'тест тест', 'rfind', 'ес', 1)
|
||||
self.checkequal(1, 'тест тест', 'rfind', 'ес', 1, 3)
|
||||
self.checkequal(6, 'тест тест', 'rfind', 'ес', 2)
|
||||
self.checkequal(-1, 'тест тест', 'rfind', 'ес', 6, 7)
|
||||
self.checkequal(-1, 'тест тест', 'rfind', 'ес', 7)
|
||||
self.checkequal(-1, 'тест тест', 'rfind', 'ec') # english `ec`
|
||||
# test mixed kinds
|
||||
self.checkequal(0, 'a' + '\u0102' * 100, 'rfind', 'a')
|
||||
self.checkequal(0, 'a' + '\U00100304' * 100, 'rfind', 'a')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue