(self)
| 370 | # CRASHES setdefault(NULL, 'a', 5) |
| 371 | |
| 372 | def test_dict_setdefaultref(self): |
| 373 | # Test PyDict_SetDefaultRef() |
| 374 | setdefault = _testcapi.dict_setdefaultref |
| 375 | for dict_type in DICT_TYPES: |
| 376 | dct = dict_type() |
| 377 | self.assertEqual(setdefault(dct, 'a', 5), 5) |
| 378 | self.assertEqual(dct, {'a': 5}) |
| 379 | self.assertEqual(setdefault(dct, 'a', 8), 5) |
| 380 | self.assertEqual(dct, {'a': 5}) |
| 381 | |
| 382 | self.assertRaises(TypeError, setdefault, {}, [], 5) # unhashable |
| 383 | for test_type in FROZENDICT_TYPES: |
| 384 | with self.frozendict_does_not_support('assignment'): |
| 385 | setdefault(test_type(), 'a', 5) |
| 386 | for test_type in MAPPING_TYPES + OTHER_TYPES: |
| 387 | self.assertRaises(SystemError, setdefault, test_type(), 'a', 5) |
| 388 | # CRASHES setdefault({}, NULL, 5) |
| 389 | # CRASHES setdefault({}, 'a', NULL) |
| 390 | # CRASHES setdefault(NULL, 'a', 5) |
| 391 | |
| 392 | def test_mapping_keys_valuesitems(self): |
| 393 | # Test PyDict_Keys(), PyDict_Values() and PyDict_Items() |
nothing calls this directly
no test coverage detected