cpython: 901964295066 (original) (raw)

--- a/Lib/collections/init.py +++ b/Lib/collections/init.py @@ -939,7 +939,22 @@ class ChainMap(MutableMapping): class UserDict(MutableMapping): # Start by filling-out the abstract methods

--- a/Lib/test/test_userdict.py +++ b/Lib/test/test_userdict.py @@ -29,7 +29,8 @@ class UserDictTest(mapping_tests.TestHas self.assertEqual(collections.UserDict(one=1, two=2), d2) # item sequence constructor self.assertEqual(collections.UserDict([('one',1), ('two',2)]), d2)

@@ -139,6 +140,30 @@ class UserDictTest(mapping_tests.TestHas self.assertEqual(t.popitem(), ("x", 42)) self.assertRaises(KeyError, t.popitem)

+

+ def test_missing(self): # Make sure UserDict doesn't have a missing method self.assertEqual(hasattr(collections.UserDict, "missing"), False)

--- a/Misc/NEWS +++ b/Misc/NEWS @@ -190,6 +190,9 @@ Core and Builtins Library ------- +- Issue #22609: Constructor of collections.UserDict now accepts the self keyword