mirror of
https://github.com/pre-commit/pre-commit-hooks.git
synced 2026-04-05 03:26:53 +00:00
Fix blank lines
As stated in the documentation: `Note that this hook WILL remove blank lines` Previously this hook would always add blank a blank line. With this fix, if the file is empty, a newline will not be added, and multpline blanklines in a file will be removed. Fixes #935
This commit is contained in:
parent
1790c6b40a
commit
fdbaeb81fa
2 changed files with 7 additions and 2 deletions
|
|
@ -37,7 +37,10 @@ def sort_file_contents(
|
||||||
after = sorted(lines, key=key)
|
after = sorted(lines, key=key)
|
||||||
|
|
||||||
before_string = b''.join(before)
|
before_string = b''.join(before)
|
||||||
after_string = b'\n'.join(after) + b'\n'
|
after_string = b'\n'.join(after)
|
||||||
|
|
||||||
|
if after_string:
|
||||||
|
after_string += b'\n'
|
||||||
|
|
||||||
if before_string == after_string:
|
if before_string == after_string:
|
||||||
return PASS
|
return PASS
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,9 @@ from pre_commit_hooks.file_contents_sorter import PASS
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
('input_s', 'argv', 'expected_retval', 'output'),
|
('input_s', 'argv', 'expected_retval', 'output'),
|
||||||
(
|
(
|
||||||
(b'', [], FAIL, b'\n'),
|
(b'', [], PASS, b''),
|
||||||
|
(b'\n', [], FAIL, b''),
|
||||||
|
(b'\n\n', [], FAIL, b''),
|
||||||
(b'lonesome\n', [], PASS, b'lonesome\n'),
|
(b'lonesome\n', [], PASS, b'lonesome\n'),
|
||||||
(b'missing_newline', [], FAIL, b'missing_newline\n'),
|
(b'missing_newline', [], FAIL, b'missing_newline\n'),
|
||||||
(b'newline\nmissing', [], FAIL, b'missing\nnewline\n'),
|
(b'newline\nmissing', [], FAIL, b'missing\nnewline\n'),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue