File tree Expand file tree Collapse file tree 2 files changed +29
-2
lines changed
Expand file tree Collapse file tree 2 files changed +29
-2
lines changed Original file line number Diff line number Diff line change @@ -38,8 +38,7 @@ def delete_files():
3838
3939
4040class AnyDBMTestCase :
41- _dict = {'0' : b'' ,
42- 'a' : b'Python:' ,
41+ _dict = {'a' : b'Python:' ,
4342 'b' : b'Programming' ,
4443 'c' : b'the' ,
4544 'd' : b'way' ,
@@ -109,6 +108,20 @@ def test_anydbm_keys(self):
109108 keys = self .keys_helper (f )
110109 f .close ()
111110
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+
112125 def test_anydbm_access (self ):
113126 self .init_db ()
114127 f = dbm .open (_fname , 'r' )
Original file line number Diff line number Diff line change @@ -36,6 +36,20 @@ def test_keys(self):
3636 self .assertEqual (self .d [b'xxx' ], b'foo' )
3737 self .d .close ()
3838
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+
3953 def test_modes (self ):
4054 for mode in ['r' , 'rw' , 'w' , 'n' ]:
4155 try :
You can’t perform that action at this time.
0 commit comments