mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
bpo-33383: Fix crash in get() of the dbm.ndbm database object. (#6630)
This commit is contained in:
parent
5779483299
commit
2e38cc3933
7 changed files with 38 additions and 7 deletions
|
@ -18,7 +18,7 @@ class DbmTestCase(unittest.TestCase):
|
|||
|
||||
def test_keys(self):
|
||||
self.d = dbm.ndbm.open(self.filename, 'c')
|
||||
self.assertTrue(self.d.keys() == [])
|
||||
self.assertEqual(self.d.keys(), [])
|
||||
self.d['a'] = 'b'
|
||||
self.d[b'bytes'] = b'data'
|
||||
self.d['12345678910'] = '019237410982340912840198242'
|
||||
|
@ -26,6 +26,14 @@ class DbmTestCase(unittest.TestCase):
|
|||
self.assertIn('a', self.d)
|
||||
self.assertIn(b'a', self.d)
|
||||
self.assertEqual(self.d[b'bytes'], b'data')
|
||||
# get() and setdefault() work as in the dict interface
|
||||
self.assertEqual(self.d.get(b'a'), b'b')
|
||||
self.assertIsNone(self.d.get(b'xxx'))
|
||||
self.assertEqual(self.d.get(b'xxx', b'foo'), b'foo')
|
||||
with self.assertRaises(KeyError):
|
||||
self.d['xxx']
|
||||
self.assertEqual(self.d.setdefault(b'xxx', b'foo'), b'foo')
|
||||
self.assertEqual(self.d[b'xxx'], b'foo')
|
||||
self.d.close()
|
||||
|
||||
def test_modes(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue