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

Method test_object_setitem

Lib/test/test_capi/test_abstract.py:569–593  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

567 # CRASHES haskeystring(NULL, b'a')
568
569 def test_object_setitem(self):
570 setitem = _testlimitedcapi.object_setitem
571 dct = {}
572 setitem(dct, 'a', 5)
573 self.assertEqual(dct, {'a': 5})
574 setitem(dct, '\U0001f40d', 8)
575 self.assertEqual(dct, {'a': 5, '\U0001f40d': 8})
576
577 dct = {}
578 dct2 = ProxySetItem(dct)
579 setitem(dct2, 'a', 5)
580 self.assertEqual(dct, {'a': 5})
581
582 lst = ['a', 'b', 'c']
583 setitem(lst, 1, 'x')
584 self.assertEqual(lst, ['a', 'x', 'c'])
585
586 self.assertRaises(TypeError, setitem, 42, 'a', 5)
587 self.assertRaises(TypeError, setitem, {}, [], 5) # unhashable
588 self.assertRaises(SystemError, setitem, {}, NULL, 5)
589 self.assertRaises(SystemError, setitem, {}, 'a', NULL)
590 self.assertRaises(IndexError, setitem, [], 1, 5)
591 self.assertRaises(TypeError, setitem, [], 'a', 5)
592 self.assertRaises(TypeError, setitem, (), 1, 5)
593 self.assertRaises(SystemError, setitem, NULL, 'a', 5)
594
595 def test_mapping_setitemstring(self):
596 setitemstring = _testlimitedcapi.mapping_setitemstring

Callers

nothing calls this directly

Calls 4

setitemFunction · 0.85
ProxySetItemClass · 0.85
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected