From a86700ae875413e17a1a62306acead7908b6b064 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Thu, 27 Nov 2014 17:45:44 +0200 Subject: [PATCH] Issue #22609: Revert changes in UserDict. They conflicted with existing tests. --- Lib/collections/__init__.py | 9 +-------- Lib/test/test_collections.py | 21 +-------------------- 2 files changed, 2 insertions(+), 28 deletions(-) diff --git a/Lib/collections/__init__.py b/Lib/collections/__init__.py index 25d33e02e6b..565ae86f884 100644 --- a/Lib/collections/__init__.py +++ b/Lib/collections/__init__.py @@ -893,14 +893,7 @@ class ChainMap(MutableMapping): class UserDict(MutableMapping): # Start by filling-out the abstract methods - def __init__(*args, **kwargs): - if not args: - raise TypeError("descriptor '__init__' of 'UserDict' object " - "needs an argument") - self, *args = args - if len(args) > 1: - raise TypeError('expected at most 1 arguments, got %d' % len(args)) - dict = args[0] if args else None + def __init__(self, dict=None, **kwargs): self.data = {} if dict is not None: self.update(dict) diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py index 7780c48e396..3724b221e46 100644 --- a/Lib/test/test_collections.py +++ b/Lib/test/test_collections.py @@ -1571,24 +1571,6 @@ class SubclassMappingTests(mapping_tests.BasicTestMappingProtocol): d = self._empty_mapping() self.assertRaises(KeyError, d.popitem) -class TestUserDict(unittest.TestCase): - - def test_init(self): - self.assertEqual(list(UserDict(self=42).items()), [('self', 42)]) - self.assertEqual(list(UserDict(dict=42).items()), [('dict', 42)]) - self.assertEqual(list(UserDict(dict=None).items()), [('dict', None)]) - self.assertRaises(TypeError, UserDict, 42) - self.assertRaises(TypeError, UserDict, (), ()) - self.assertRaises(TypeError, UserDict.__init__) - - def test_update(self): - d = UserDict() - d.update(self=42) - self.assertEqual(list(d.items()), [('self', 42)]) - self.assertRaises(TypeError, UserDict().update, 42) - self.assertRaises(TypeError, UserDict().update, {}, {}) - self.assertRaises(TypeError, UserDict.update) - ################################################################################ ### Run tests @@ -1600,8 +1582,7 @@ def test_main(verbose=None): NamedTupleDocs = doctest.DocTestSuite(module=collections) test_classes = [TestNamedTuple, NamedTupleDocs, TestOneTrickPonyABCs, TestCollectionABCs, TestCounter, TestChainMap, - TestOrderedDict, GeneralMappingTests, SubclassMappingTests, - TestUserDict,] + TestOrderedDict, GeneralMappingTests, SubclassMappingTests] support.run_unittest(*test_classes) support.run_doctest(collections, verbose)