]> granicus.if.org Git - python/commitdiff
Issue #22609: Revert changes in UserDict. They conflicted with existing tests.
authorSerhiy Storchaka <storchaka@gmail.com>
Thu, 27 Nov 2014 15:45:44 +0000 (17:45 +0200)
committerSerhiy Storchaka <storchaka@gmail.com>
Thu, 27 Nov 2014 15:45:44 +0000 (17:45 +0200)
Lib/collections/__init__.py
Lib/test/test_collections.py

index 25d33e02e6b8477d2cbbd431924796c9abd3b0c1..565ae86f8841ec43d44726fd15d3045a7feb2c01 100644 (file)
@@ -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)
index 7780c48e3962a31b78610a95e3747ac5d09eefe2..3724b221e468fceb74bddc5542246525c12342e8 100644 (file)
@@ -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)