print(table)
def extract_info(file_name, fields, _isdir=os.path.isdir, _open=open):
+ empty_result = {f: '' for f in fields}
if _isdir(file_name) or not file_name.endswith('.yaml'):
- return {f: '' for f in fields}
+ return empty_result
with _open(file_name, 'r') as f:
parsed = yaml.load(f)
+ if not isinstance(parsed, dict):
+ return empty_result
+
description = parsed.get('description', [{}])
if not (isinstance(description, list) and
len(description) == 1 and
def test_extract_info_not_a_dict():
check_parse_error({'a.yaml': 'description: [[a, b]]'})
+
+def test_extract_info_empty_file():
+ simple_fs = {'a.yaml': ''}
+ _, _, fake_isdir, fake_open = make_fake_fstools(simple_fs)
+ info = extract_info('a.yaml', [], fake_isdir, fake_open)
+ assert info == {}