Lines Matching refs:self
11 def setUp(self):
12 self.filename = os_helper.TESTFN
13 self.d = dbm.ndbm.open(self.filename, 'c')
14 self.d.close()
16 def tearDown(self):
18 os_helper.unlink(self.filename + suffix)
20 def test_keys(self):
21 self.d = dbm.ndbm.open(self.filename, 'c')
22 self.assertEqual(self.d.keys(), [])
23 self.d['a'] = 'b'
24 self.d[b'bytes'] = b'data'
25 self.d['12345678910'] = '019237410982340912840198242'
26 self.d.keys()
27 self.assertIn('a', self.d)
28 self.assertIn(b'a', self.d)
29 self.assertEqual(self.d[b'bytes'], b'data')
31 self.assertEqual(self.d.get(b'a'), b'b')
32 self.assertIsNone(self.d.get(b'xxx'))
33 self.assertEqual(self.d.get(b'xxx', b'foo'), b'foo')
34 with self.assertRaises(KeyError):
35 self.d['xxx']
36 self.assertEqual(self.d.setdefault(b'xxx', b'foo'), b'foo')
37 self.assertEqual(self.d[b'xxx'], b'foo')
38 self.d.close()
40 def test_empty_value(self):
42 self.skipTest("Berkeley DB doesn't distinguish the empty value "
44 self.d = dbm.ndbm.open(self.filename, 'c')
45 self.assertEqual(self.d.keys(), [])
46 self.d['empty'] = ''
47 self.assertEqual(self.d.keys(), [b'empty'])
48 self.assertIn(b'empty', self.d)
49 self.assertEqual(self.d[b'empty'], b'')
50 self.assertEqual(self.d.get(b'empty'), b'')
51 self.assertEqual(self.d.setdefault(b'empty'), b'')
52 self.d.close()
54 def test_modes(self):
57 self.d = dbm.ndbm.open(self.filename, mode)
58 self.d.close()
60 self.fail()
62 def test_context_manager(self):
63 with dbm.ndbm.open(self.filename, 'c') as db:
66 with dbm.ndbm.open(self.filename, 'r') as db:
67 self.assertEqual(list(db.keys()), [b"ndbm context manager"])
69 with self.assertRaises(dbm.ndbm.error) as cm:
71 self.assertEqual(str(cm.exception),
74 def test_bytes(self):
75 with dbm.ndbm.open(self.filename, 'c') as db:
77 with dbm.ndbm.open(self.filename, 'r') as db:
78 self.assertEqual(list(db.keys()), [b'bytes key \xbd'])
79 self.assertTrue(b'bytes key \xbd' in db)
80 self.assertEqual(db[b'bytes key \xbd'], b'bytes value \xbd')
82 def test_unicode(self):
83 with dbm.ndbm.open(self.filename, 'c') as db:
85 with dbm.ndbm.open(self.filename, 'r') as db:
86 self.assertEqual(list(db.keys()), ['Unicode key \U0001f40d'.encode()])
87 self.assertTrue('Unicode key \U0001f40d'.encode() in db)
88 self.assertTrue('Unicode key \U0001f40d' in db)
89 self.assertEqual(db['Unicode key \U0001f40d'.encode()],
91 self.assertEqual(db['Unicode key \U0001f40d'],
94 def test_write_readonly_file(self):
95 with dbm.ndbm.open(self.filename, 'c') as db:
97 with dbm.ndbm.open(self.filename, 'r') as db:
98 with self.assertRaises(error):
100 with self.assertRaises(error):
102 with self.assertRaises(error):
107 def test_nonascii_filename(self):
110 self.addCleanup(os_helper.unlink, filename + suffix)
113 self.assertTrue(any(os.path.exists(filename + suffix)
116 self.assertEqual(list(db.keys()), [b'key'])
117 self.assertTrue(b'key' in db)
118 self.assertEqual(db[b'key'], b'value')
120 def test_nonexisting_file(self):
122 with self.assertRaises(dbm.ndbm.error) as cm:
124 self.assertIn(nonexisting_file, str(cm.exception))
125 self.assertEqual(cm.exception.filename, nonexisting_file)
127 def test_open_with_pathlib_path(self):
128 dbm.ndbm.open(os_helper.FakePath(self.filename), "c").close()
130 def test_open_with_bytes_path(self):
131 dbm.ndbm.open(os.fsencode(self.filename), "c").close()
133 def test_open_with_pathlib_bytes_path(self):
134 dbm.ndbm.open(os_helper.FakePath(os.fsencode(self.filename)), "c").close()