| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -38,8 +38,7 @@ def delete_files(): | |||
| 38 | 38 | ||
| 39 | 39 | ||
| 40 | 40 | class AnyDBMTestCase: | |
| 41 | - _dict = {'0': b'', | ||
| 42 | - 'a': b'Python:', | ||
| 41 | + _dict = {'a': b'Python:', | ||
| 43 | 42 | 'b': b'Programming', | |
| 44 | 43 | 'c': b'the', | |
| 45 | 44 | 'd': b'way', | |
@@ -109,6 +108,20 @@ def test_anydbm_keys(self): | |||
| 109 | 108 | keys = self.keys_helper(f) | |
| 110 | 109 | f.close() | |
| 111 | 110 | ||
| 111 | + def test_empty_value(self): | ||
| 112 | + if getattr(dbm._defaultmod, 'library', None) == 'Berkeley DB': | ||
| 113 | + self.skipTest("Berkeley DB doesn't distinguish the empty value " | ||
| 114 | + "from the absent one") | ||
| 115 | + f = dbm.open(_fname, 'c') | ||
| 116 | + self.assertEqual(f.keys(), []) | ||
| 117 | + f[b'empty'] = b'' | ||
| 118 | + self.assertEqual(f.keys(), [b'empty']) | ||
| 119 | + self.assertIn(b'empty', f) | ||
| 120 | + self.assertEqual(f[b'empty'], b'') | ||
| 121 | + self.assertEqual(f.get(b'empty'), b'') | ||
| 122 | + self.assertEqual(f.setdefault(b'empty'), b'') | ||
| 123 | + f.close() | ||
| 124 | + | ||
| 112 | 125 | def test_anydbm_access(self): | |
| 113 | 126 | self.init_db() | |
| 114 | 127 | f = dbm.open(_fname, 'r') | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -36,6 +36,20 @@ def test_keys(self): | |||
| 36 | 36 | self.assertEqual(self.d[b'xxx'], b'foo') | |
| 37 | 37 | self.d.close() | |
| 38 | 38 | ||
| 39 | + def test_empty_value(self): | ||
| 40 | + if dbm.ndbm.library == 'Berkeley DB': | ||
| 41 | + self.skipTest("Berkeley DB doesn't distinguish the empty value " | ||
| 42 | + "from the absent one") | ||
| 43 | + self.d = dbm.ndbm.open(self.filename, 'c') | ||
| 44 | + self.assertEqual(self.d.keys(), []) | ||
| 45 | + self.d['empty'] = '' | ||
| 46 | + self.assertEqual(self.d.keys(), [b'empty']) | ||
| 47 | + self.assertIn(b'empty', self.d) | ||
| 48 | + self.assertEqual(self.d[b'empty'], b'') | ||
| 49 | + self.assertEqual(self.d.get(b'empty'), b'') | ||
| 50 | + self.assertEqual(self.d.setdefault(b'empty'), b'') | ||
| 51 | + self.d.close() | ||
| 52 | + | ||
| 39 | 53 | def test_modes(self): | |
| 40 | 54 | for mode in ['r', 'rw', 'w', 'n']: | |
| 41 | 55 | try: | |
| Back | FazBrowse Home | New Git URL |
0 commit comments