]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fix dumbdbm and test_dumbdbm to work with dict views. Bug in dumbdbm was from
authorBrett Cannon <bcannon@gmail.com>
Thu, 22 Feb 2007 05:04:32 +0000 (05:04 +0000)
committerBrett Cannon <bcannon@gmail.com>
Thu, 22 Feb 2007 05:04:32 +0000 (05:04 +0000)
dict views not being iterators but just iterables.

Lib/dumbdbm.py
Lib/test/test_dumbdbm.py

index 1c9b57219a4b471486933442bb7058d6a6c85528..7724ac6693ef980a07563fe8cc02efd8d24ab48e 100644 (file)
@@ -202,7 +202,7 @@ class _Database(UserDict.DictMixin):
         return key in self._index
 
     def iterkeys(self):
-        return self._index.keys()
+        return iter(self._index.keys())
     __iter__ = iterkeys
 
     def __len__(self):
index 041fac171ff2490e9ce6fba67a27512047420a12..ba94d9890124bdd5a8d8cc14f6ed04a13aa470c6 100644 (file)
@@ -32,7 +32,7 @@ class DumbDBMTestCase(unittest.TestCase):
 
     def test_dumbdbm_creation(self):
         f = dumbdbm.open(_fname, 'c')
-        self.assertEqual(f.keys(), [])
+        self.assertEqual(list(f.keys()), [])
         for key in self._dict:
             f[key] = self._dict[key]
         self.read_helper(f)
@@ -128,10 +128,8 @@ class DumbDBMTestCase(unittest.TestCase):
         f.close()
 
     def keys_helper(self, f):
-        keys = f.keys()
-        keys.sort()
-        dkeys = self._dict.keys()
-        dkeys.sort()
+        keys = sorted(f.keys())
+        dkeys = sorted(self._dict.keys())
         self.assertEqual(keys, dkeys)
         return keys
 
@@ -156,10 +154,8 @@ class DumbDBMTestCase(unittest.TestCase):
             f.close()
 
             f = dumbdbm.open(_fname)
-            expected = d.items()
-            expected.sort()
-            got = f.items()
-            got.sort()
+            expected = sorted(d.items())
+            got = sorted(f.items())
             self.assertEqual(expected, got)
             f.close()