summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2014-11-27 15:45:44 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2014-11-27 15:45:44 (GMT)
commita86700ae875413e17a1a62306acead7908b6b064 (patch)
tree543cb5090da269b66551f37211f97f61596f6e7e
parentae5cb214d2cd41d96943a0ef43a4e95bd9a10b7a (diff)
downloadcpython-a86700ae875413e17a1a62306acead7908b6b064.zip
cpython-a86700ae875413e17a1a62306acead7908b6b064.tar.gz
cpython-a86700ae875413e17a1a62306acead7908b6b064.tar.bz2
Issue #22609: Revert changes in UserDict. They conflicted with existing tests.
-rw-r--r--Lib/collections/__init__.py9
-rw-r--r--Lib/test/test_collections.py21
2 files changed, 2 insertions, 28 deletions
diff --git a/Lib/collections/__init__.py b/Lib/collections/__init__.py
index 25d33e0..565ae86 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 7780c48..3724b22 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)