def test_mixed_line_ending_fixes_auto(input_s, output, tmpdir): path = tmpdir.join('file.txt') path.write_binary(input_s) ret = main((path.strpath,)) assert ret == 1 assert path.read_binary() == output
def test_fix_crlf(tmpdir): path = tmpdir.join('input.txt') path.write_binary(b'foo\r\nbar\rbaz\n') ret = main(('--fix=crlf', path.strpath)) assert ret == 1 assert path.read_binary() == b'foo\r\nbar\r\nbaz\r\n'
def test_line_endings_ok(fix_option, input_s, tmpdir): path = tmpdir.join('input.txt') path.write_binary(input_s) ret = main((fix_option, path.strpath)) assert ret == 0 assert path.read_binary() == input_s
def test_non_mixed_no_newline_end_of_file(tmpdir): path = tmpdir.join('f.txt') path.write_binary(b'foo\nbar\nbaz') assert not main((path.strpath,)) # the hook *could* fix the end of the file, but leaves it alone # this is mostly to document the current behaviour assert path.read_binary() == b'foo\nbar\nbaz'
def test_no_fix_does_not_modify(tmpdir): path = tmpdir.join('input.txt') contents = b'foo\r\nbar\rbaz\nwomp\n' path.write_binary(contents) ret = main(('--fix=no', path.strpath)) assert ret == 1 assert path.read_binary() == contents
def test_mixed_no_newline_end_of_file(tmpdir): path = tmpdir.join('f.txt') path.write_binary(b'foo\r\nbar\nbaz') assert main((path.strpath,)) # the hook rewrites the end of the file, this is slightly inconsistent # with the non-mixed case but I think this is the better behaviour # this is mostly to document the current behaviour assert path.read_binary() == b'foo\nbar\nbaz\n'
def test_fix_lf_all_crlf(tmpdir): """Regression test for #239""" path = tmpdir.join('input.txt') path.write_binary(b'foo\r\nbar\r\n') ret = main(('--fix=lf', path.strpath)) assert ret == 1 assert path.read_binary() == b'foo\nbar\n'
def test_fix_lf(tmpdir, capsys): path = tmpdir.join('input.txt') path.write_binary(b'foo\r\nbar\rbaz\n') ret = main(('--fix=lf', path.strpath)) assert ret == 1 assert path.read_binary() == b'foo\nbar\nbaz\n' out, _ = capsys.readouterr() assert out == '{}: fixed mixed line endings\n'.format(path)
def test_line_endings_ok(fix_option, input_s, tmpdir, capsys): path = tmpdir.join('input.txt') path.write_binary(input_s) ret = main((fix_option, path.strpath)) assert ret == 0 assert path.read_binary() == input_s out, _ = capsys.readouterr() assert out == ''
def test_no_fix_does_not_modify(tmpdir, capsys): path = tmpdir.join('input.txt') contents = b'foo\r\nbar\rbaz\nwomp\n' path.write_binary(contents) ret = main(('--fix=no', path.strpath)) assert ret == 1 assert path.read_binary() == contents out, _ = capsys.readouterr() assert out == '{}: mixed line endings\n'.format(path)