@@ -257,6 +257,20 @@ def test_find(self):
257257 self .checkequalnofix (9 , 'abcdefghiabc' , 'find' , 'abc' , 1 )
258258 self .checkequalnofix (- 1 , 'abcdefghiabc' , 'find' , 'def' , 4 )
259259
260+ # test utf-8 non-ascii char
261+ self .checkequal (0 , 'тест' , 'find' , 'т' )
262+ self .checkequal (3 , 'тест' , 'find' , 'т' , 1 )
263+ self .checkequal (- 1 , 'тест' , 'find' , 'т' , 1 , 3 )
264+ self .checkequal (- 1 , 'тест' , 'find' , 'e' ) # english `e`
265+ # test utf-8 non-ascii slice
266+ self .checkequal (1 , 'тест тест' , 'find' , 'ес' )
267+ self .checkequal (1 , 'тест тест' , 'find' , 'ес' , 1 )
268+ self .checkequal (1 , 'тест тест' , 'find' , 'ес' , 1 , 3 )
269+ self .checkequal (6 , 'тест тест' , 'find' , 'ес' , 2 )
270+ self .checkequal (- 1 , 'тест тест' , 'find' , 'ес' , 6 , 7 )
271+ self .checkequal (- 1 , 'тест тест' , 'find' , 'ес' , 7 )
272+ self .checkequal (- 1 , 'тест тест' , 'find' , 'ec' ) # english `ec`
273+
260274 self .assertRaises (TypeError , 'hello' .find )
261275 self .assertRaises (TypeError , 'hello' .find , 42 )
262276 # test mixed kinds
@@ -287,6 +301,19 @@ def test_rfind(self):
287301 self .checkequalnofix (9 , 'abcdefghiabc' , 'rfind' , 'abc' )
288302 self .checkequalnofix (12 , 'abcdefghiabc' , 'rfind' , '' )
289303 self .checkequalnofix (12 , 'abcdefghiabc' , 'rfind' , '' )
304+ # test utf-8 non-ascii char
305+ self .checkequal (1 , 'тест' , 'rfind' , 'е' )
306+ self .checkequal (1 , 'тест' , 'rfind' , 'е' , 1 )
307+ self .checkequal (- 1 , 'тест' , 'rfind' , 'е' , 2 )
308+ self .checkequal (- 1 , 'тест' , 'rfind' , 'e' ) # english `e`
309+ # test utf-8 non-ascii slice
310+ self .checkequal (6 , 'тест тест' , 'rfind' , 'ес' )
311+ self .checkequal (6 , 'тест тест' , 'rfind' , 'ес' , 1 )
312+ self .checkequal (1 , 'тест тест' , 'rfind' , 'ес' , 1 , 3 )
313+ self .checkequal (6 , 'тест тест' , 'rfind' , 'ес' , 2 )
314+ self .checkequal (- 1 , 'тест тест' , 'rfind' , 'ес' , 6 , 7 )
315+ self .checkequal (- 1 , 'тест тест' , 'rfind' , 'ес' , 7 )
316+ self .checkequal (- 1 , 'тест тест' , 'rfind' , 'ec' ) # english `ec`
290317 # test mixed kinds
291318 self .checkequal (0 , 'a' + '\u0102 ' * 100 , 'rfind' , 'a' )
292319 self .checkequal (0 , 'a' + '\U00100304 ' * 100 , 'rfind' , 'a' )
0 commit comments