diff options
Diffstat (limited to 'tests/lib/test_input_output.py')
-rw-r--r-- | tests/lib/test_input_output.py | 31 |
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: |