summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_dbm.py15
-rw-r--r--Lib/test/test_dbm_ndbm.py13
2 files changed, 28 insertions, 0 deletions
diff --git a/Lib/test/test_dbm.py b/Lib/test/test_dbm.py
index f21eebc..e3924d8 100644
--- a/Lib/test/test_dbm.py
+++ b/Lib/test/test_dbm.py
@@ -155,6 +155,21 @@ class AnyDBMTestCase:
self.assertNotIn(b'xxx', d)
self.assertRaises(KeyError, lambda: d[b'xxx'])
+ def test_clear(self):
+ with dbm.open(_fname, 'c') as d:
+ self.assertEqual(d.keys(), [])
+ a = [(b'a', b'b'), (b'12345678910', b'019237410982340912840198242')]
+ for k, v in a:
+ d[k] = v
+ for k, _ in a:
+ self.assertIn(k, d)
+ self.assertEqual(len(d), len(a))
+
+ d.clear()
+ self.assertEqual(len(d), 0)
+ for k, _ in a:
+ self.assertNotIn(k, d)
+
def setUp(self):
self.addCleanup(setattr, dbm, '_defaultmod', dbm._defaultmod)
dbm._defaultmod = self.module
diff --git a/Lib/test/test_dbm_ndbm.py b/Lib/test/test_dbm_ndbm.py
index 8f37e3c..e0f31c9 100644
--- a/Lib/test/test_dbm_ndbm.py
+++ b/Lib/test/test_dbm_ndbm.py
@@ -147,6 +147,19 @@ class DbmTestCase(unittest.TestCase):
db['a'] = 'b'
self.assertRaises(dbm.ndbm.error, bool, db)
+ def test_clear(self):
+ kvs = [('foo', 'bar'), ('1234', '5678')]
+ with dbm.ndbm.open(self.filename, 'c') as db:
+ for k, v in kvs:
+ db[k] = v
+ self.assertIn(k, db)
+ self.assertEqual(len(db), len(kvs))
+
+ db.clear()
+ for k, v in kvs:
+ self.assertNotIn(k, db)
+ self.assertEqual(len(db), 0)
+
if __name__ == '__main__':
unittest.main()