| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -39,8 +39,7 @@ def delete_files(): | |||
| 39 | 39 | ||
| 40 | 40 | ||
| 41 | 41 | class AnyDBMTestCase: | |
| 42 | - _dict = {'0': b'', | ||
| 43 | - 'a': b'Python:', | ||
| 42 | + _dict = {'a': b'Python:', | ||
| 44 | 43 | 'b': b'Programming', | |
| 45 | 44 | 'c': b'the', | |
| 46 | 45 | 'd': b'way', | |
@@ -101,6 +100,20 @@ def test_anydbm_keys(self): | |||
| 101 | 100 | keys = self.keys_helper(f) | |
| 102 | 101 | f.close() | |
| 103 | 102 | ||
| 103 | + def test_empty_value(self): | ||
| 104 | + if getattr(dbm._defaultmod, 'library', None) == 'Berkeley DB': | ||
| 105 | + self.skipTest("Berkeley DB doesn't distinguish the empty value " | ||
| 106 | + "from the absent one") | ||
| 107 | + f = dbm.open(_fname, 'c') | ||
| 108 | + self.assertEqual(f.keys(), []) | ||
| 109 | + f[b'empty'] = b'' | ||
| 110 | + self.assertEqual(f.keys(), [b'empty']) | ||
| 111 | + self.assertIn(b'empty', f) | ||
| 112 | + self.assertEqual(f[b'empty'], b'') | ||
| 113 | + self.assertEqual(f.get(b'empty'), b'') | ||
| 114 | + self.assertEqual(f.setdefault(b'empty'), b'') | ||
| 115 | + f.close() | ||
| 116 | + | ||
| 104 | 117 | def test_anydbm_access(self): | |
| 105 | 118 | self.init_db() | |
| 106 | 119 | f = dbm.open(_fname, 'r') | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -29,6 +29,20 @@ def test_keys(self): | |||
| 29 | 29 | self.assertEqual(self.d[b'bytes'], b'data') | |
| 30 | 30 | self.d.close() | |
| 31 | 31 | ||
| 32 | + def test_empty_value(self): | ||
| 33 | + if dbm.ndbm.library == 'Berkeley DB': | ||
| 34 | + self.skipTest("Berkeley DB doesn't distinguish the empty value " | ||
| 35 | + "from the absent one") | ||
| 36 | + self.d = dbm.ndbm.open(self.filename, 'c') | ||
| 37 | + self.assertEqual(self.d.keys(), []) | ||
| 38 | + self.d['empty'] = '' | ||
| 39 | + self.assertEqual(self.d.keys(), [b'empty']) | ||
| 40 | + self.assertIn(b'empty', self.d) | ||
| 41 | + self.assertEqual(self.d[b'empty'], b'') | ||
| 42 | + self.assertEqual(self.d.get(b'empty'), b'') | ||
| 43 | + self.assertEqual(self.d.setdefault(b'empty'), b'') | ||
| 44 | + self.d.close() | ||
| 45 | + | ||
| 32 | 46 | def test_modes(self): | |
| 33 | 47 | for mode in ['r', 'rw', 'w', 'n']: | |
| 34 | 48 | try: | |
| Back | FazBrowse Home | New Git URL |
0 commit comments