@@ -261,6 +261,20 @@ def test_find(self):
261
261
self .checkequalnofix (9 , 'abcdefghiabc' , 'find' , 'abc' , 1 )
262
262
self .checkequalnofix (- 1 , 'abcdefghiabc' , 'find' , 'def' , 4 )
263
263
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
+
264
278
self .assertRaises (TypeError , 'hello' .find )
265
279
self .assertRaises (TypeError , 'hello' .find , 42 )
266
280
# test mixed kinds
@@ -291,6 +305,19 @@ def test_rfind(self):
291
305
self .checkequalnofix (9 , 'abcdefghiabc' , 'rfind' , 'abc' )
292
306
self .checkequalnofix (12 , 'abcdefghiabc' , 'rfind' , '' )
293
307
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`
294
321
# test mixed kinds
295
322
self .checkequal (0 , 'a' + '\u0102 ' * 100 , 'rfind' , 'a' )
296
323
self .checkequal (0 , 'a' + '\U00100304 ' * 100 , 'rfind' , 'a' )
0 commit comments