summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-02-13 05:41:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-02-13 05:41:58 +0000
commite390ceede4a1b709bf25275d117e095f2ca0867f (patch)
treeff0ebfdddd406f4301c8d4c1146a2d2a5b6b0f1c /tests
parentAdding upstream version 3.6.0. (diff)
downloadpre-commit-e390ceede4a1b709bf25275d117e095f2ca0867f.tar.xz
pre-commit-e390ceede4a1b709bf25275d117e095f2ca0867f.zip
Adding upstream version 3.6.1.upstream/3.6.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/staged_files_only_test.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/staged_files_only_test.py b/tests/staged_files_only_test.py
index 58dbe5a..cd2f638 100644
--- a/tests/staged_files_only_test.py
+++ b/tests/staged_files_only_test.py
@@ -358,6 +358,21 @@ def test_crlf(in_git_dir, patch_dir, crlf_before, crlf_after, autocrlf):
assert_no_diff()
+@pytest.mark.parametrize('autocrlf', ('true', 'input'))
+def test_crlf_diff_only(in_git_dir, patch_dir, autocrlf):
+ # due to a quirk (?) in git -- a diff only in crlf does not show but
+ # still results in an exit code of `1`
+ # we treat this as "no diff" -- though ideally it would discard the diff
+ # while committing
+ cmd_output('git', 'config', '--local', 'core.autocrlf', autocrlf)
+
+ _write(b'1\r\n2\r\n3\r\n')
+ cmd_output('git', 'add', 'foo')
+ _write(b'1\n2\n3\n')
+ with staged_files_only(patch_dir):
+ pass
+
+
def test_whitespace_errors(in_git_dir, patch_dir):
cmd_output('git', 'config', '--local', 'apply.whitespace', 'error')
test_crlf(in_git_dir, patch_dir, True, True, 'true')