def test_open_r(self):
p = self.root / 'fileA'
- with magic_open(p, 'r') as f:
+ with magic_open(p, 'r', encoding='utf-8') as f:
self.assertIsInstance(f, io.TextIOBase)
self.assertEqual(f.read(), 'this is file A\n')
def test_read_text(self):
p = self.root / 'fileA'
- self.assertEqual(p.read_text(), 'this is file A\n')
+ self.assertEqual(p.read_text(encoding='utf-8'), 'this is file A\n')
q = self.root / 'abc'
self.ground.create_file(q, b'\xe4bcdefg')
self.assertEqual(q.read_text(encoding='latin-1'), 'äbcdefg')
p = self.root / 'abc'
self.ground.create_file(p, b'abcde\r\nfghlk\n\rmnopq')
# Check that `\n` character change nothing
- self.assertEqual(p.read_text(newline='\n'), 'abcde\r\nfghlk\n\rmnopq')
+ self.assertEqual(p.read_text(encoding='utf-8', newline='\n'), 'abcde\r\nfghlk\n\rmnopq')
# Check that `\r` character replaces `\n`
- self.assertEqual(p.read_text(newline='\r'), 'abcde\r\nfghlk\n\rmnopq')
+ self.assertEqual(p.read_text(encoding='utf-8', newline='\r'), 'abcde\r\nfghlk\n\rmnopq')
# Check that `\r\n` character replaces `\n`
- self.assertEqual(p.read_text(newline='\r\n'), 'abcde\r\nfghlk\n\rmnopq')
+ self.assertEqual(p.read_text(encoding='utf-8', newline='\r\n'), 'abcde\r\nfghlk\n\rmnopq')
def test_iterdir(self):
expected = ['dirA', 'dirB', 'dirC', 'fileA']
def test_open_w(self):
p = self.root / 'fileA'
- with magic_open(p, 'w') as f:
+ with magic_open(p, 'w', encoding='utf-8') as f:
self.assertIsInstance(f, io.TextIOBase)
f.write('this is file A\n')
self.assertEqual(self.ground.readtext(p), 'this is file A\n')
p.write_text('äbcdefg', encoding='latin-1')
self.assertEqual(self.ground.readbytes(p), b'\xe4bcdefg')
# Check that trying to write bytes does not truncate the file.
- self.assertRaises(TypeError, p.write_text, b'somebytes')
+ self.assertRaises(TypeError, p.write_text, b'somebytes', encoding='utf-8')
self.assertEqual(self.ground.readbytes(p), b'\xe4bcdefg')
@unittest.skipIf(
def test_write_text_with_newlines(self):
# Check that `\n` character change nothing
p = self.root / 'fileA'
- p.write_text('abcde\r\nfghlk\n\rmnopq', newline='\n')
+ p.write_text('abcde\r\nfghlk\n\rmnopq', encoding='utf-8', newline='\n')
self.assertEqual(self.ground.readbytes(p), b'abcde\r\nfghlk\n\rmnopq')
# Check that `\r` character replaces `\n`
p = self.root / 'fileB'
- p.write_text('abcde\r\nfghlk\n\rmnopq', newline='\r')
+ p.write_text('abcde\r\nfghlk\n\rmnopq', encoding='utf-8', newline='\r')
self.assertEqual(self.ground.readbytes(p), b'abcde\r\rfghlk\r\rmnopq')
# Check that `\r\n` character replaces `\n`
p = self.root / 'fileC'
- p.write_text('abcde\r\nfghlk\n\rmnopq', newline='\r\n')
+ p.write_text('abcde\r\nfghlk\n\rmnopq', encoding='utf-8', newline='\r\n')
self.assertEqual(self.ground.readbytes(p), b'abcde\r\r\nfghlk\r\n\rmnopq')
# Check that no argument passed will change `\n` to `os.linesep`
os_linesep_byte = bytes(os.linesep, encoding='ascii')
p = self.root / 'fileD'
- p.write_text('abcde\nfghlk\n\rmnopq')
+ p.write_text('abcde\nfghlk\n\rmnopq', encoding='utf-8')
self.assertEqual(self.ground.readbytes(p),
b'abcde' + os_linesep_byte +
b'fghlk' + os_linesep_byte + b'\rmnopq')