mirror of
https://github.com/python/cpython.git
synced 2025-07-24 03:35:53 +00:00
Issue #22609: Constructor of collections.UserDict now accepts the self keyword
argument.
This commit is contained in:
parent
e060619d4b
commit
68f5ef226e
3 changed files with 45 additions and 2 deletions
|
@ -29,7 +29,8 @@ class UserDictTest(mapping_tests.TestHashMappingProtocol):
|
|||
self.assertEqual(collections.UserDict(one=1, two=2), d2)
|
||||
# item sequence constructor
|
||||
self.assertEqual(collections.UserDict([('one',1), ('two',2)]), d2)
|
||||
self.assertEqual(collections.UserDict(dict=[('one',1), ('two',2)]), d2)
|
||||
with self.assertWarnsRegex(PendingDeprecationWarning, "'dict'"):
|
||||
self.assertEqual(collections.UserDict(dict=[('one',1), ('two',2)]), d2)
|
||||
# both together
|
||||
self.assertEqual(collections.UserDict([('one',1), ('two',2)], two=3, three=5), d3)
|
||||
|
||||
|
@ -139,6 +140,30 @@ class UserDictTest(mapping_tests.TestHashMappingProtocol):
|
|||
self.assertEqual(t.popitem(), ("x", 42))
|
||||
self.assertRaises(KeyError, t.popitem)
|
||||
|
||||
def test_init(self):
|
||||
for kw in 'self', 'other', 'iterable':
|
||||
self.assertEqual(list(collections.UserDict(**{kw: 42}).items()),
|
||||
[(kw, 42)])
|
||||
self.assertEqual(list(collections.UserDict({}, dict=42).items()),
|
||||
[('dict', 42)])
|
||||
self.assertEqual(list(collections.UserDict({}, dict=None).items()),
|
||||
[('dict', None)])
|
||||
with self.assertWarnsRegex(PendingDeprecationWarning, "'dict'"):
|
||||
self.assertEqual(list(collections.UserDict(dict={'a': 42}).items()),
|
||||
[('a', 42)])
|
||||
self.assertRaises(TypeError, collections.UserDict, 42)
|
||||
self.assertRaises(TypeError, collections.UserDict, (), ())
|
||||
self.assertRaises(TypeError, collections.UserDict.__init__)
|
||||
|
||||
def test_update(self):
|
||||
for kw in 'self', 'dict', 'other', 'iterable':
|
||||
d = collections.UserDict()
|
||||
d.update(**{kw: 42})
|
||||
self.assertEqual(list(d.items()), [(kw, 42)])
|
||||
self.assertRaises(TypeError, collections.UserDict().update, 42)
|
||||
self.assertRaises(TypeError, collections.UserDict().update, {}, {})
|
||||
self.assertRaises(TypeError, collections.UserDict.update)
|
||||
|
||||
def test_missing(self):
|
||||
# Make sure UserDict doesn't have a __missing__ method
|
||||
self.assertEqual(hasattr(collections.UserDict, "__missing__"), False)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue