summaryrefslogtreecommitdiff
path: root/tests/lib/test_input_output.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/test_input_output.py')
-rw-r--r--tests/lib/test_input_output.py31
1 files changed, 18 insertions, 13 deletions
diff --git a/tests/lib/test_input_output.py b/tests/lib/test_input_output.py
index 52ac342..6d82c0d 100644
--- a/tests/lib/test_input_output.py
+++ b/tests/lib/test_input_output.py
@@ -3,7 +3,8 @@ import yaml
import codecs, io, tempfile, os, os.path
def test_unicode_input(unicode_filename, verbose=False):
- data = open(unicode_filename, 'rb').read().decode('utf-8')
+ with open(unicode_filename, 'rb') as file:
+ data = file.read().decode('utf-8')
value = ' '.join(data.split())
output = yaml.full_load(data)
assert output == value, (output, value)
@@ -23,7 +24,8 @@ def test_unicode_input(unicode_filename, verbose=False):
test_unicode_input.unittest = ['.unicode']
def test_unicode_input_errors(unicode_filename, verbose=False):
- data = open(unicode_filename, 'rb').read().decode('utf-8')
+ with open(unicode_filename, 'rb') as file:
+ data = file.read().decode('utf-8')
for input in [data.encode('utf-16-be'),
data.encode('utf-16-le'),
codecs.BOM_UTF8+data.encode('utf-16-be'),
@@ -47,7 +49,8 @@ def test_unicode_input_errors(unicode_filename, verbose=False):
test_unicode_input_errors.unittest = ['.unicode']
def test_unicode_output(unicode_filename, verbose=False):
- data = open(unicode_filename, 'rb').read().decode('utf-8')
+ with open(unicode_filename, 'rb') as file:
+ data = file.read().decode('utf-8')
value = ' '.join(data.split())
for allow_unicode in [False, True]:
data1 = yaml.dump(value, allow_unicode=allow_unicode)
@@ -82,7 +85,8 @@ def test_unicode_output(unicode_filename, verbose=False):
test_unicode_output.unittest = ['.unicode']
def test_file_output(unicode_filename, verbose=False):
- data = open(unicode_filename, 'rb').read().decode('utf-8')
+ with open(unicode_filename, 'rb') as file:
+ data = file.read().decode('utf-8')
handle, filename = tempfile.mkstemp()
os.close(handle)
try:
@@ -92,14 +96,14 @@ def test_file_output(unicode_filename, verbose=False):
stream = io.BytesIO()
yaml.dump(data, stream, encoding='utf-16-le', allow_unicode=True)
data2 = stream.getvalue().decode('utf-16-le')[1:]
- stream = open(filename, 'w', encoding='utf-16-le')
- yaml.dump(data, stream, allow_unicode=True)
- stream.close()
- data3 = open(filename, 'r', encoding='utf-16-le').read()
- stream = open(filename, 'wb')
- yaml.dump(data, stream, encoding='utf-8', allow_unicode=True)
- stream.close()
- data4 = open(filename, 'r', encoding='utf-8').read()
+ with open(filename, 'w', encoding='utf-16-le') as stream:
+ yaml.dump(data, stream, allow_unicode=True)
+ with open(filename, 'r', encoding='utf-16-le') as file:
+ data3 = file.read()
+ with open(filename, 'wb') as stream:
+ yaml.dump(data, stream, encoding='utf-8', allow_unicode=True)
+ with open(filename, 'r', encoding='utf-8') as file:
+ data4 = file.read()
assert data1 == data2, (data1, data2)
assert data1 == data3, (data1, data3)
assert data1 == data4, (data1, data4)
@@ -110,7 +114,8 @@ def test_file_output(unicode_filename, verbose=False):
test_file_output.unittest = ['.unicode']
def test_unicode_transfer(unicode_filename, verbose=False):
- data = open(unicode_filename, 'rb').read().decode('utf-8')
+ with open(unicode_filename, 'rb') as file:
+ data = file.read().decode('utf-8')
for encoding in [None, 'utf-8', 'utf-16-be', 'utf-16-le']:
input = data
if encoding is not None: