summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2008-11-25 19:19:17 (GMT)
committerBrett Cannon <bcannon@gmail.com>2008-11-25 19:19:17 (GMT)
commit7317c1ef7aaba7deda66b7fa917d09e68d83635b (patch)
tree20de56e7bef3651ffbe837660673f76a1b54a1c5 /Lib
parent50d5a1c37324405104a097389515a0ef4f9705f3 (diff)
downloadcpython-7317c1ef7aaba7deda66b7fa917d09e68d83635b.zip
cpython-7317c1ef7aaba7deda66b7fa917d09e68d83635b.tar.gz
cpython-7317c1ef7aaba7deda66b7fa917d09e68d83635b.tar.bz2
dbm.gnu and dbm.ndbm accept both strings and bytes as keys and values. For the
former they are converted to bytes before being written to the DB. Closes issue 3799. Reviewed by Skip Montanaro.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_dbm_dumb.py2
-rwxr-xr-xLib/test/test_dbm_gnu.py2
-rwxr-xr-xLib/test/test_dbm_ndbm.py2
3 files changed, 6 insertions, 0 deletions
diff --git a/Lib/test/test_dbm_dumb.py b/Lib/test/test_dbm_dumb.py
index 940991d..e2964aa 100644
--- a/Lib/test/test_dbm_dumb.py
+++ b/Lib/test/test_dbm_dumb.py
@@ -115,11 +115,13 @@ class DumbDBMTestCase(unittest.TestCase):
self.init_db()
f = dumbdbm.open(_fname)
f['\u00fc'] = b'!'
+ f['1'] = 'a'
f.close()
f = dumbdbm.open(_fname, 'r')
self.assert_('\u00fc' in f)
self.assertEqual(f['\u00fc'.encode('utf-8')],
self._dict['\u00fc'.encode('utf-8')])
+ self.assertEqual(f[b'1'], b'a')
def test_line_endings(self):
# test for bug #1172763: dumbdbm would die if the line endings
diff --git a/Lib/test/test_dbm_gnu.py b/Lib/test/test_dbm_gnu.py
index eddb970..0049aaa 100755
--- a/Lib/test/test_dbm_gnu.py
+++ b/Lib/test/test_dbm_gnu.py
@@ -20,9 +20,11 @@ class TestGdbm(unittest.TestCase):
self.assertEqual(self.g.keys(), [])
self.g['a'] = 'b'
self.g['12345678910'] = '019237410982340912840198242'
+ self.g[b'bytes'] = b'data'
key_set = set(self.g.keys())
self.assertEqual(key_set, set([b'a', b'12345678910']))
self.assert_(b'a' in self.g)
+ self.assertEqual(self.g[b'bytes'], b'data')
key = self.g.firstkey()
while key:
self.assert_(key in key_set)
diff --git a/Lib/test/test_dbm_ndbm.py b/Lib/test/test_dbm_ndbm.py
index 74d3238..6d0a36d 100755
--- a/Lib/test/test_dbm_ndbm.py
+++ b/Lib/test/test_dbm_ndbm.py
@@ -20,9 +20,11 @@ class DbmTestCase(unittest.TestCase):
self.d = dbm.ndbm.open(self.filename, 'c')
self.assert_(self.d.keys() == [])
self.d['a'] = 'b'
+ self.d[b'bytes'] = b'data'
self.d['12345678910'] = '019237410982340912840198242'
self.d.keys()
self.assert_(b'a' in self.d)
+ self.assertEqual(self.d[b'bytes'], b'data')
self.d.close()
def test_modes(self):