Issue 6637: defaultdict.copy() failed with an empty factory.

This commit is contained in:
Raymond Hettinger 2009-08-04 19:16:39 +00:00
parent fe800a3437
commit 54628fa7c0
2 changed files with 11 additions and 1 deletions

View file

@ -60,6 +60,7 @@ class TestDefaultDict(unittest.TestCase):
d1 = defaultdict()
self.assertEqual(d1.default_factory, None)
self.assertEqual(repr(d1), "defaultdict(None, {})")
self.assertEqual(eval(repr(d1)), d1)
d1[11] = 41
self.assertEqual(repr(d1), "defaultdict(None, {11: 41})")
d2 = defaultdict(int)
@ -112,6 +113,12 @@ class TestDefaultDict(unittest.TestCase):
d4[12]
self.assertEqual(d4, {42: [], 12: []})
# Issue 6637: Copy fails for empty default dict
d = defaultdict()
d['a'] = 42
e = d.copy()
self.assertEqual(e['a'], 42)
def test_shallow_copy(self):
d1 = defaultdict(foobar, {1: 1})
d2 = copy.copy(d1)