(self)
| 277 | # CRASHES setitem(NULL, 0, []) |
| 278 | |
| 279 | def test_tuple_set_item(self): |
| 280 | # Test PyTuple_SET_ITEM() |
| 281 | set_item = _testcapi.tuple_set_item |
| 282 | checknull = _testcapi._check_tuple_item_is_NULL |
| 283 | |
| 284 | tup = ([1], [2]) |
| 285 | self.assertEqual(set_item(tup, 0, []), ([], [2])) |
| 286 | self.assertEqual(set_item(tup, 1, []), ([1], [])) |
| 287 | |
| 288 | tup2 = set_item(tup, 1, NULL) |
| 289 | self.assertTrue(checknull(tup2, 1)) |
| 290 | |
| 291 | tup2 = TupleSubclass(([1], [2])) |
| 292 | self.assertIs(set_item(tup2, 0, []), tup2) |
| 293 | self.assertEqual(tup2, ([], [2])) |
| 294 | |
| 295 | # CRASHES set_item(tup, -1, []) |
| 296 | # CRASHES set_item(tup, len(tup), []) |
| 297 | # CRASHES set_item([1], 0, []) |
| 298 | # CRASHES set_item(NULL, 0, []) |
| 299 | |
| 300 | def test__tuple_resize(self): |
| 301 | # Test _PyTuple_Resize() |
nothing calls this directly
no test coverage detected