pass
else:
return attr(path, buffering, encoding, errors, newline)
+ elif encoding is not None:
+ raise ValueError("binary mode doesn't take an encoding argument")
+ elif errors is not None:
+ raise ValueError("binary mode doesn't take an errors argument")
+ elif newline is not None:
+ raise ValueError("binary mode doesn't take a newline argument")
try:
attr = getattr(cls, f'__open_{mode}b__')
p = self.root / 'fileA'
with magic_open(p, 'rb') as f:
self.assertEqual(f.read(), b'this is file A\n')
+ self.assertRaises(ValueError, magic_open, p, 'rb', encoding='utf8')
+ self.assertRaises(ValueError, magic_open, p, 'rb', errors='strict')
+ self.assertRaises(ValueError, magic_open, p, 'rb', newline='')
def test_read_bytes(self):
p = self.root / 'fileA'
#self.assertIsInstance(f, io.BufferedWriter)
f.write(b'this is file A\n')
self.assertEqual(self.ground.readbytes(p), b'this is file A\n')
+ self.assertRaises(ValueError, magic_open, p, 'wb', encoding='utf8')
+ self.assertRaises(ValueError, magic_open, p, 'wb', errors='strict')
+ self.assertRaises(ValueError, magic_open, p, 'wb', newline='')
def test_write_bytes(self):
p = self.root / 'fileA'