@@ -221,6 +221,20 @@ def test_find(self):
221221 self .checkequalnofix (9 , 'abcdefghiabc' , 'find' , 'abc' , 1 )
222222 self .checkequalnofix (- 1 , 'abcdefghiabc' , 'find' , 'def' , 4 )
223223
224+ # test utf-8 non-ascii char
225+ self .checkequal (0 , 'тест' , 'find' , 'т' )
226+ self .checkequal (3 , 'тест' , 'find' , 'т' , 1 )
227+ self .checkequal (- 1 , 'тест' , 'find' , 'т' , 1 , 3 )
228+ self .checkequal (- 1 , 'тест' , 'find' , 'e' ) # english `e`
229+ # test utf-8 non-ascii slice
230+ self .checkequal (1 , 'тест тест' , 'find' , 'ес' )
231+ self .checkequal (1 , 'тест тест' , 'find' , 'ес' , 1 )
232+ self .checkequal (1 , 'тест тест' , 'find' , 'ес' , 1 , 3 )
233+ self .checkequal (6 , 'тест тест' , 'find' , 'ес' , 2 )
234+ self .checkequal (- 1 , 'тест тест' , 'find' , 'ес' , 6 , 7 )
235+ self .checkequal (- 1 , 'тест тест' , 'find' , 'ес' , 7 )
236+ self .checkequal (- 1 , 'тест тест' , 'find' , 'ec' ) # english `ec`
237+
224238 self .assertRaises (TypeError , 'hello' .find )
225239 self .assertRaises (TypeError , 'hello' .find , 42 )
226240 # test mixed kinds
@@ -251,6 +265,19 @@ def test_rfind(self):
251265 self .checkequalnofix (9 , 'abcdefghiabc' , 'rfind' , 'abc' )
252266 self .checkequalnofix (12 , 'abcdefghiabc' , 'rfind' , '' )
253267 self .checkequalnofix (12 , 'abcdefghiabc' , 'rfind' , '' )
268+ # test utf-8 non-ascii char
269+ self .checkequal (1 , 'тест' , 'rfind' , 'е' )
270+ self .checkequal (1 , 'тест' , 'rfind' , 'е' , 1 )
271+ self .checkequal (- 1 , 'тест' , 'rfind' , 'е' , 2 )
272+ self .checkequal (- 1 , 'тест' , 'rfind' , 'e' ) # english `e`
273+ # test utf-8 non-ascii slice
274+ self .checkequal (6 , 'тест тест' , 'rfind' , 'ес' )
275+ self .checkequal (6 , 'тест тест' , 'rfind' , 'ес' , 1 )
276+ self .checkequal (1 , 'тест тест' , 'rfind' , 'ес' , 1 , 3 )
277+ self .checkequal (6 , 'тест тест' , 'rfind' , 'ес' , 2 )
278+ self .checkequal (- 1 , 'тест тест' , 'rfind' , 'ес' , 6 , 7 )
279+ self .checkequal (- 1 , 'тест тест' , 'rfind' , 'ес' , 7 )
280+ self .checkequal (- 1 , 'тест тест' , 'rfind' , 'ec' ) # english `ec`
254281 # test mixed kinds
255282 self .checkequal (0 , 'a' + '\u0102 ' * 100 , 'rfind' , 'a' )
256283 self .checkequal (0 , 'a' + '\U00100304 ' * 100 , 'rfind' , 'a' )
0 commit comments