From c1b22a07c32481855af661f4d6888c9e361e9200 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Thu, 22 Feb 2007 05:04:32 +0000 Subject: [PATCH] Fix dumbdbm and test_dumbdbm to work with dict views. Bug in dumbdbm was from dict views not being iterators but just iterables. --- Lib/dumbdbm.py | 2 +- Lib/test/test_dumbdbm.py | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/Lib/dumbdbm.py b/Lib/dumbdbm.py index 1c9b57219a4..7724ac6693e 100644 --- a/Lib/dumbdbm.py +++ b/Lib/dumbdbm.py @@ -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): diff --git a/Lib/test/test_dumbdbm.py b/Lib/test/test_dumbdbm.py index 041fac171ff..ba94d989012 100644 --- a/Lib/test/test_dumbdbm.py +++ b/Lib/test/test_dumbdbm.py @@ -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()