MCPcopy Index your code
hub / github.com/python/cpython / test_dict_setdefaultref

Method test_dict_setdefaultref

Lib/test/test_capi/test_dict.py:372–390  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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()

Callers

nothing calls this directly

Calls 3

assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected