@@ -261,6 +261,20 @@ def test_find(self):
261261 self .checkequalnofix (9 , 'abcdefghiabc' , 'find' , 'abc' , 1 )
262262 self .checkequalnofix (- 1 , 'abcdefghiabc' , 'find' , 'def' , 4 )
263263
264+ # test utf-8 non-ascii char
265+ self .checkequal (0 , 'тест' , 'find' , 'т' )
266+ self .checkequal (3 , 'тест' , 'find' , 'т' , 1 )
267+ self .checkequal (- 1 , 'тест' , 'find' , 'т' , 1 , 3 )
268+ self .checkequal (- 1 , 'тест' , 'find' , 'e' ) # english `e`
269+ # test utf-8 non-ascii slice
270+ self .checkequal (1 , 'тест тест' , 'find' , 'ес' )
271+ self .checkequal (1 , 'тест тест' , 'find' , 'ес' , 1 )
272+ self .checkequal (1 , 'тест тест' , 'find' , 'ес' , 1 , 3 )
273+ self .checkequal (6 , 'тест тест' , 'find' , 'ес' , 2 )
274+ self .checkequal (- 1 , 'тест тест' , 'find' , 'ес' , 6 , 7 )
275+ self .checkequal (- 1 , 'тест тест' , 'find' , 'ес' , 7 )
276+ self .checkequal (- 1 , 'тест тест' , 'find' , 'ec' ) # english `ec`
277+
264278 self .assertRaises (TypeError , 'hello' .find )
265279 self .assertRaises (TypeError , 'hello' .find , 42 )
266280 # test mixed kinds
@@ -291,6 +305,19 @@ def test_rfind(self):
291305 self .checkequalnofix (9 , 'abcdefghiabc' , 'rfind' , 'abc' )
292306 self .checkequalnofix (12 , 'abcdefghiabc' , 'rfind' , '' )
293307 self .checkequalnofix (12 , 'abcdefghiabc' , 'rfind' , '' )
308+ # test utf-8 non-ascii char
309+ self .checkequal (1 , 'тест' , 'rfind' , 'е' )
310+ self .checkequal (1 , 'тест' , 'rfind' , 'е' , 1 )
311+ self .checkequal (- 1 , 'тест' , 'rfind' , 'е' , 2 )
312+ self .checkequal (- 1 , 'тест' , 'rfind' , 'e' ) # english `e`
313+ # test utf-8 non-ascii slice
314+ self .checkequal (6 , 'тест тест' , 'rfind' , 'ес' )
315+ self .checkequal (6 , 'тест тест' , 'rfind' , 'ес' , 1 )
316+ self .checkequal (1 , 'тест тест' , 'rfind' , 'ес' , 1 , 3 )
317+ self .checkequal (6 , 'тест тест' , 'rfind' , 'ес' , 2 )
318+ self .checkequal (- 1 , 'тест тест' , 'rfind' , 'ес' , 6 , 7 )
319+ self .checkequal (- 1 , 'тест тест' , 'rfind' , 'ес' , 7 )
320+ self .checkequal (- 1 , 'тест тест' , 'rfind' , 'ec' ) # english `ec`
294321 # test mixed kinds
295322 self .checkequal (0 , 'a' + '\u0102 ' * 100 , 'rfind' , 'a' )
296323 self .checkequal (0 , 'a' + '\U00100304 ' * 100 , 'rfind' , 'a' )
0 commit comments