Lines Matching refs:self
22 def setUp(self):
23 self.g = None
25 def tearDown(self):
26 if self.g is not None:
27 self.g.close()
31 def test_disallow_instantiation(self):
33 self.g = gdbm.open(filename, 'c')
34 support.check_disallow_instantiation(self, type(self.g))
36 def test_key_methods(self):
37 self.g = gdbm.open(filename, 'c')
38 self.assertEqual(self.g.keys(), [])
39 self.g['a'] = 'b'
40 self.g['12345678910'] = '019237410982340912840198242'
41 self.g[b'bytes'] = b'data'
42 key_set = set(self.g.keys())
43 self.assertEqual(key_set, set([b'a', b'bytes', b'12345678910']))
44 self.assertIn('a', self.g)
45 self.assertIn(b'a', self.g)
46 self.assertEqual(self.g[b'bytes'], b'data')
47 key = self.g.firstkey()
49 self.assertIn(key, key_set)
51 key = self.g.nextkey(key)
53 self.assertEqual(self.g.get(b'a'), b'b')
54 self.assertIsNone(self.g.get(b'xxx'))
55 self.assertEqual(self.g.get(b'xxx', b'foo'), b'foo')
56 with self.assertRaises(KeyError):
57 self.g['xxx']
58 self.assertEqual(self.g.setdefault(b'xxx', b'foo'), b'foo')
59 self.assertEqual(self.g[b'xxx'], b'foo')
61 def test_error_conditions(self):
64 self.assertRaises(gdbm.error, gdbm.open, filename, 'r')
66 self.g = gdbm.open(filename, 'c')
67 self.g.close()
68 self.assertRaises(gdbm.error, lambda: self.g['a'])
70 self.assertRaises(gdbm.error, lambda: gdbm.open(filename, 'rx').close())
72 def test_flags(self):
78 self.g = gdbm.open(filename, mode)
79 self.g.close()
85 self.g = gdbm.open(filename, mode + flag)
86 self.g.close()
88 def test_reorganize(self):
89 self.g = gdbm.open(filename, 'c')
96 self.g['x'] = 'x' * value_size
98 self.assertGreater(size1, size0)
100 del self.g['x']
102 self.assertEqual(os.path.getsize(filename), size1)
104 self.g.reorganize()
106 self.assertLess(size2, size1)
107 self.assertGreaterEqual(size2, size0)
109 def test_context_manager(self):
114 self.assertEqual(list(db.keys()), [b"gdbm context manager"])
116 with self.assertRaises(gdbm.error) as cm:
118 self.assertEqual(str(cm.exception),
121 def test_bytes(self):
125 self.assertEqual(list(db.keys()), [b'bytes key \xbd'])
126 self.assertTrue(b'bytes key \xbd' in db)
127 self.assertEqual(db[b'bytes key \xbd'], b'bytes value \xbd')
129 def test_unicode(self):
133 self.assertEqual(list(db.keys()), ['Unicode key \U0001f40d'.encode()])
134 self.assertTrue('Unicode key \U0001f40d'.encode() in db)
135 self.assertTrue('Unicode key \U0001f40d' in db)
136 self.assertEqual(db['Unicode key \U0001f40d'.encode()],
138 self.assertEqual(db['Unicode key \U0001f40d'],
141 def test_write_readonly_file(self):
145 with self.assertRaises(gdbm.error):
147 with self.assertRaises(gdbm.error):
149 with self.assertRaises(gdbm.error):
154 def test_nonascii_filename(self):
156 self.addCleanup(unlink, filename)
159 self.assertTrue(os.path.exists(filename))
161 self.assertEqual(list(db.keys()), [b'key'])
162 self.assertTrue(b'key' in db)
163 self.assertEqual(db[b'key'], b'value')
165 def test_nonexisting_file(self):
167 with self.assertRaises(gdbm.error) as cm:
169 self.assertIn(nonexisting_file, str(cm.exception))
170 self.assertEqual(cm.exception.filename, nonexisting_file)
172 def test_open_with_pathlib_path(self):
175 def test_open_with_bytes_path(self):
178 def test_open_with_pathlib_bytes_path(self):