MCPcopy Index your code
hub / github.com/python/cpython / test_rfind

Method test_rfind

Lib/test/test_str.py:315–354  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

313 self.checkequal(-1, '\u0102' * 100, 'find', '\u0102\U00100304')
314
315 def test_rfind(self):
316 string_tests.StringLikeTest.test_rfind(self)
317 # test implementation details of the memrchr fast path
318 self.checkequal(0, '\u0102' + 'a' * 100 , 'rfind', '\u0102')
319 self.checkequal(-1, '\u0102' + 'a' * 100 , 'rfind', '\u0201')
320 self.checkequal(-1, '\u0102' + 'a' * 100 , 'rfind', '\u0120')
321 self.checkequal(-1, '\u0102' + 'a' * 100 , 'rfind', '\u0220')
322 self.checkequal(0, '\U00100304' + 'a' * 100, 'rfind', '\U00100304')
323 self.checkequal(-1, '\U00100304' + 'a' * 100, 'rfind', '\U00100204')
324 self.checkequal(-1, '\U00100304' + 'a' * 100, 'rfind', '\U00102004')
325 # check mixed argument types
326 self.checkequalnofix(9, 'abcdefghiabc', 'rfind', 'abc')
327 self.checkequalnofix(12, 'abcdefghiabc', 'rfind', '')
328 self.checkequalnofix(12, 'abcdefghiabc', 'rfind', '')
329 # test utf-8 non-ascii char
330 self.checkequal(1, 'тест', 'rfind', 'е')
331 self.checkequal(1, 'тест', 'rfind', 'е', 1)
332 self.checkequal(-1, 'тест', 'rfind', 'е', 2)
333 self.checkequal(-1, 'тест', 'rfind', 'e') # english `e`
334 # test utf-8 non-ascii slice
335 self.checkequal(6, 'тест тест', 'rfind', 'ес')
336 self.checkequal(6, 'тест тест', 'rfind', 'ес', 1)
337 self.checkequal(1, 'тест тест', 'rfind', 'ес', 1, 3)
338 self.checkequal(6, 'тест тест', 'rfind', 'ес', 2)
339 self.checkequal(-1, 'тест тест', 'rfind', 'ес', 6, 7)
340 self.checkequal(-1, 'тест тест', 'rfind', 'ес', 7)
341 self.checkequal(-1, 'тест тест', 'rfind', 'ec') # english `ec`
342 # test mixed kinds
343 self.checkequal(0, 'a' + '\u0102' * 100, 'rfind', 'a')
344 self.checkequal(0, 'a' + '\U00100304' * 100, 'rfind', 'a')
345 self.checkequal(0, '\u0102' + '\U00100304' * 100, 'rfind', '\u0102')
346 self.checkequal(-1, 'a' * 100, 'rfind', '\u0102')
347 self.checkequal(-1, 'a' * 100, 'rfind', '\U00100304')
348 self.checkequal(-1, '\u0102' * 100, 'rfind', '\U00100304')
349 self.checkequal(0, '_a' + '\u0102' * 100, 'rfind', '_a')
350 self.checkequal(0, '_a' + '\U00100304' * 100, 'rfind', '_a')
351 self.checkequal(0, '_\u0102' + '\U00100304' * 100, 'rfind', '_\u0102')
352 self.checkequal(-1, 'a' * 100, 'rfind', '\u0102a')
353 self.checkequal(-1, 'a' * 100, 'rfind', '\U00100304a')
354 self.checkequal(-1, '\u0102' * 100, 'rfind', '\U00100304\u0102')
355
356 def test_index(self):
357 string_tests.StringLikeTest.test_index(self)

Callers

nothing calls this directly

Calls 2

checkequalnofixMethod · 0.95
checkequalMethod · 0.45

Tested by

no test coverage detected