@@ -257,6 +257,20 @@ def test_find(self):
257
257
self .checkequalnofix (9 , 'abcdefghiabc' , 'find' , 'abc' , 1 )
258
258
self .checkequalnofix (- 1 , 'abcdefghiabc' , 'find' , 'def' , 4 )
259
259
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
+
260
274
self .assertRaises (TypeError , 'hello' .find )
261
275
self .assertRaises (TypeError , 'hello' .find , 42 )
262
276
# test mixed kinds
@@ -287,6 +301,19 @@ def test_rfind(self):
287
301
self .checkequalnofix (9 , 'abcdefghiabc' , 'rfind' , 'abc' )
288
302
self .checkequalnofix (12 , 'abcdefghiabc' , 'rfind' , '' )
289
303
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`
290
317
# test mixed kinds
291
318
self .checkequal (0 , 'a' + '\u0102 ' * 100 , 'rfind' , 'a' )
292
319
self .checkequal (0 , 'a' + '\U00100304 ' * 100 , 'rfind' , 'a' )
0 commit comments