Fix requirements-txt-fixer for comments at end of file

This commit is contained in:
Anthony Sottile 2017-10-09 10:59:17 -07:00
parent 5d08e77ad5
commit 86691eda47
2 changed files with 9 additions and 0 deletions

View file

@ -63,9 +63,16 @@ def fix_requirements(f):
else:
requirement.value = line
# if a file ends in a comment, preserve it at the end
if requirements[-1].value is None:
rest = requirements.pop().comments
else:
rest = []
for requirement in sorted(requirements):
after.extend(requirement.comments)
after.append(requirement.value)
after.extend(rest)
after_string = b''.join(after)

View file

@ -11,6 +11,8 @@ from pre_commit_hooks.requirements_txt_fixer import Requirement
(
(b'', PASS, b''),
(b'\n', PASS, b'\n'),
(b'# intentionally empty\n', PASS, b'# intentionally empty\n'),
(b'foo\n# comment at end\n', PASS, b'foo\n# comment at end\n'),
(b'foo\nbar\n', FAIL, b'bar\nfoo\n'),
(b'bar\nfoo\n', PASS, b'bar\nfoo\n'),
(b'#comment1\nfoo\n#comment2\nbar\n', FAIL, b'#comment2\nbar\n#comment1\nfoo\n'),