gh-107122: Add clear method to dbm.ndbm module (gh-107126)

This commit is contained in:
Dong-hee Na 2023-07-23 23:26:23 +09:00 committed by GitHub
parent b3c34e55c0
commit 0ae4870d09
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 91 additions and 1 deletions

View file

@ -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