@@ -221,6 +221,20 @@ def test_find(self):
221
221
self .checkequalnofix (9 , 'abcdefghiabc' , 'find' , 'abc' , 1 )
222
222
self .checkequalnofix (- 1 , 'abcdefghiabc' , 'find' , 'def' , 4 )
223
223
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
+
224
238
self .assertRaises (TypeError , 'hello' .find )
225
239
self .assertRaises (TypeError , 'hello' .find , 42 )
226
240
# test mixed kinds
@@ -251,6 +265,19 @@ def test_rfind(self):
251
265
self .checkequalnofix (9 , 'abcdefghiabc' , 'rfind' , 'abc' )
252
266
self .checkequalnofix (12 , 'abcdefghiabc' , 'rfind' , '' )
253
267
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`
254
281
# test mixed kinds
255
282
self .checkequal (0 , 'a' + '\u0102 ' * 100 , 'rfind' , 'a' )
256
283
self .checkequal (0 , 'a' + '\U00100304 ' * 100 , 'rfind' , 'a' )
0 commit comments