Test PyUnicode_Split()
(self)
| 1098 | @support.cpython_only |
| 1099 | @unittest.skipIf(_testlimitedcapi is None, 'need _testlimitedcapi module') |
| 1100 | def test_split(self): |
| 1101 | """Test PyUnicode_Split()""" |
| 1102 | from _testlimitedcapi import unicode_split as split |
| 1103 | |
| 1104 | self.assertEqual(split('a|b|c|d', '|'), ['a', 'b', 'c', 'd']) |
| 1105 | self.assertEqual(split('a|b|c|d', '|', 2), ['a', 'b', 'c|d']) |
| 1106 | self.assertEqual(split('a|b|c|d', '|', PY_SSIZE_T_MAX), |
| 1107 | ['a', 'b', 'c', 'd']) |
| 1108 | self.assertEqual(split('a|b|c|d', '|', -1), ['a', 'b', 'c', 'd']) |
| 1109 | self.assertEqual(split('a|b|c|d', '|', PY_SSIZE_T_MIN), |
| 1110 | ['a', 'b', 'c', 'd']) |
| 1111 | self.assertEqual(split('a|b|c|d', '\u20ac'), ['a|b|c|d']) |
| 1112 | self.assertEqual(split('a||b|c||d', '||'), ['a', 'b|c', 'd']) |
| 1113 | self.assertEqual(split('а|б|в|г', '|'), ['а', 'б', 'в', 'г']) |
| 1114 | self.assertEqual(split('абабагаламага', 'а'), |
| 1115 | ['', 'б', 'б', 'г', 'л', 'м', 'г', '']) |
| 1116 | self.assertEqual(split(' a\tb\nc\rd\ve\f', NULL), |
| 1117 | ['a', 'b', 'c', 'd', 'e']) |
| 1118 | self.assertEqual(split('a\x85b\xa0c\u1680d\u2000e', NULL), |
| 1119 | ['a', 'b', 'c', 'd', 'e']) |
| 1120 | |
| 1121 | self.assertRaises(ValueError, split, 'a|b|c|d', '') |
| 1122 | self.assertRaises(TypeError, split, 'a|b|c|d', ord('|')) |
| 1123 | self.assertRaises(TypeError, split, [], '|') |
| 1124 | # CRASHES split(NULL, '|') |
| 1125 | |
| 1126 | @support.cpython_only |
| 1127 | @unittest.skipIf(_testlimitedcapi is None, 'need _testlimitedcapi module') |
nothing calls this directly
no test coverage detected