(self)
| 350 | # CRASHES delitemstring(NULL, b'a') |
| 351 | |
| 352 | def test_dict_setdefault(self): |
| 353 | # Test PyDict_SetDefault() |
| 354 | setdefault = _testcapi.dict_setdefault |
| 355 | for dict_type in DICT_TYPES: |
| 356 | dct = dict_type() |
| 357 | self.assertEqual(setdefault(dct, 'a', 5), 5) |
| 358 | self.assertEqual(dct, {'a': 5}) |
| 359 | self.assertEqual(setdefault(dct, 'a', 8), 5) |
| 360 | self.assertEqual(dct, {'a': 5}) |
| 361 | |
| 362 | self.assertRaises(TypeError, setdefault, {}, [], 5) # unhashable |
| 363 | for test_type in FROZENDICT_TYPES: |
| 364 | with self.frozendict_does_not_support('assignment'): |
| 365 | setdefault(test_type(), 'a', 5) |
| 366 | for test_type in MAPPING_TYPES + OTHER_TYPES: |
| 367 | self.assertRaises(SystemError, setdefault, test_type(), 'a', 5) |
| 368 | # CRASHES setdefault({}, NULL, 5) |
| 369 | # CRASHES setdefault({}, 'a', NULL) |
| 370 | # CRASHES setdefault(NULL, 'a', 5) |
| 371 | |
| 372 | def test_dict_setdefaultref(self): |
| 373 | # Test PyDict_SetDefaultRef() |
nothing calls this directly
no test coverage detected