Use pyfakefs instead of real files in tests

* adjust review findings
This commit is contained in:
Lorenz Egginger 2021-10-08 11:47:40 +02:00
parent 9d0b99f39f
commit 2f4236158c
4 changed files with 20 additions and 21 deletions

View file

@ -1,31 +1,29 @@
from pre_commit_hooks.check_number_of_lines_count import main
def test_number_of_lines_count_bad(tmpdir):
max_lines = 30
line_contents = []
filename = tmpdir.join('lines_count_bad')
def test_number_of_lines_count_bad(fs):
max_lines = 42
for line_number in range(max_lines + 1):
line_contents.append(f'I am the {line_number+1}. line!')
with open(filename, 'w') as file:
file.write('\n'.join(line_contents))
filename = 'lines_count_bad'
line_contents = [
f'I am the {line_number+1}. line!'
for line_number in range(max_lines + 1)
]
fs.create_file(filename, contents='\n'.join(line_contents))
ret = main([str(filename), f'--max-lines={max_lines}'])
assert ret == 1
def test_number_of_lines_count_good(tmpdir):
max_lines = 30
line_contents = []
filename = tmpdir.join('lines_count_good')
def test_number_of_lines_count_good(fs):
max_lines = 42
for line_number in range(max_lines):
line_contents.append(f'I am the {line_number+1}. line!')
with open(filename, 'w') as file:
file.write('\n'.join(line_contents))
filename = 'lines_count_good'
line_contents = [
f'I am the {line_number+1}. line!'
for line_number in range(max_lines)
]
fs.create_file(filename, contents='\n'.join(line_contents))
ret = main([str(filename), f'--max-lines={max_lines}'])
assert ret == 0