MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_rsplit

Method test_rsplit

Lib/test/string_tests.py:516–592  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

514 self.checkraises(ValueError, 'hello', 'split', '', 0)
515
516 def test_rsplit(self):
517 # without arg
518 self.checkequal(['a', 'b', 'c', 'd'], 'a b c d', 'rsplit')
519 self.checkequal(['a', 'b', 'c', 'd'], 'a b c d', 'rsplit')
520 self.checkequal([], '', 'rsplit')
521
522 # by a char
523 self.checkequal(['a', 'b', 'c', 'd'], 'a|b|c|d', 'rsplit', '|')
524 self.checkequal(['a|b|c', 'd'], 'a|b|c|d', 'rsplit', '|', 1)
525 self.checkequal(['a|b', 'c', 'd'], 'a|b|c|d', 'rsplit', '|', 2)
526 self.checkequal(['a', 'b', 'c', 'd'], 'a|b|c|d', 'rsplit', '|', 3)
527 self.checkequal(['a', 'b', 'c', 'd'], 'a|b|c|d', 'rsplit', '|', 4)
528 self.checkequal(['a', 'b', 'c', 'd'], 'a|b|c|d', 'rsplit', '|',
529 sys.maxsize-100)
530 self.checkequal(['a|b|c|d'], 'a|b|c|d', 'rsplit', '|', 0)
531 self.checkequal(['a||b||c', '', 'd'], 'a||b||c||d', 'rsplit', '|', 2)
532 self.checkequal(['abcd'], 'abcd', 'rsplit', '|')
533 self.checkequal([''], '', 'rsplit', '|')
534 self.checkequal(['', ' begincase'], '| begincase', 'rsplit', '|')
535 self.checkequal(['endcase ', ''], 'endcase |', 'rsplit', '|')
536 self.checkequal(['', 'bothcase', ''], '|bothcase|', 'rsplit', '|')
537
538 self.checkequal(['a\x00\x00b', 'c', 'd'], 'a\x00\x00b\x00c\x00d', 'rsplit', '\x00', 2)
539
540 self.checkequal(['a']*20, ('a|'*20)[:-1], 'rsplit', '|')
541 self.checkequal(['a|a|a|a|a']+['a']*15,
542 ('a|'*20)[:-1], 'rsplit', '|', 15)
543
544 # by string
545 self.checkequal(['a', 'b', 'c', 'd'], 'a//b//c//d', 'rsplit', '//')
546 self.checkequal(['a//b//c', 'd'], 'a//b//c//d', 'rsplit', '//', 1)
547 self.checkequal(['a//b', 'c', 'd'], 'a//b//c//d', 'rsplit', '//', 2)
548 self.checkequal(['a', 'b', 'c', 'd'], 'a//b//c//d', 'rsplit', '//', 3)
549 self.checkequal(['a', 'b', 'c', 'd'], 'a//b//c//d', 'rsplit', '//', 4)
550 self.checkequal(['a', 'b', 'c', 'd'], 'a//b//c//d', 'rsplit', '//',
551 sys.maxsize-5)
552 self.checkequal(['a//b//c//d'], 'a//b//c//d', 'rsplit', '//', 0)
553 self.checkequal(['a////b////c', '', 'd'], 'a////b////c////d', 'rsplit', '//', 2)
554 self.checkequal(['', ' begincase'], 'test begincase', 'rsplit', 'test')
555 self.checkequal(['endcase ', ''], 'endcase test', 'rsplit', 'test')
556 self.checkequal(['', ' bothcase ', ''], 'test bothcase test',
557 'rsplit', 'test')
558 self.checkequal(['ab', 'c'], 'abbbc', 'rsplit', 'bb')
559 self.checkequal(['', ''], 'aaa', 'rsplit', 'aaa')
560 self.checkequal(['aaa'], 'aaa', 'rsplit', 'aaa', 0)
561 self.checkequal(['ab', 'ab'], 'abbaab', 'rsplit', 'ba')
562 self.checkequal(['aaaa'], 'aaaa', 'rsplit', 'aab')
563 self.checkequal([''], '', 'rsplit', 'aaa')
564 self.checkequal(['aa'], 'aa', 'rsplit', 'aaa')
565 self.checkequal(['bbob', 'A'], 'bbobbbobbA', 'rsplit', 'bbobb')
566 self.checkequal(['', 'B', 'A'], 'bbobbBbbobbA', 'rsplit', 'bbobb')
567
568 self.checkequal(['a']*20, ('aBLAH'*20)[:-4], 'rsplit', 'BLAH')
569 self.checkequal(['a']*20, ('aBLAH'*20)[:-4], 'rsplit', 'BLAH', 19)
570 self.checkequal(['aBLAHa'] + ['a']*18, ('aBLAH'*20)[:-4],
571 'rsplit', 'BLAH', 18)
572
573 # with keyword args

Callers

nothing calls this directly

Calls 2

checkequalMethod · 0.95
checkraisesMethod · 0.95

Tested by

no test coverage detected