diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-03-14 12:01:05 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-03-14 12:01:05 -0700 |
commit | c5e2df04ac9dd731c729c6159d58c2288d794858 (patch) | |
tree | b6db0972487a8a00694e6477deeea245888c6bf7 /t | |
parent | bd0f794342d5b3921f2d5d4bffce87ec7b7e4d96 (diff) | |
parent | 42f7d45428e260acf535ba0d55ecc91ee81e21da (diff) | |
download | git-c5e2df04ac9dd731c729c6159d58c2288d794858.tar.gz |
Merge branch 'jk/add-i-diff-filter'
The "interactive.diffFilter" used by "git add -i" must retain
one-to-one correspondence between its input and output, but it was
not enforced and caused end-user confusion. We now at least make
sure the filtered result has the same number of lines as its input
to detect a broken filter.
* jk/add-i-diff-filter:
add--interactive: detect bogus diffFilter output
t3701: add a test for interactive.diffFilter
Diffstat (limited to 't')
-rwxr-xr-x | t/t3701-add-interactive.sh | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh index a9a9478a29..b170fb02b8 100755 --- a/t/t3701-add-interactive.sh +++ b/t/t3701-add-interactive.sh @@ -397,6 +397,26 @@ test_expect_success TTY 'diffs can be colorized' ' grep "$(printf "\\033")" output ' +test_expect_success TTY 'diffFilter filters diff' ' + git reset --hard && + + echo content >test && + test_config interactive.diffFilter "sed s/^/foo:/" && + printf y | test_terminal git add -p >output 2>&1 && + + # avoid depending on the exact coloring or content of the prompts, + # and just make sure we saw our diff prefixed + grep foo:.*content output +' + +test_expect_success TTY 'detect bogus diffFilter output' ' + git reset --hard && + + echo content >test && + test_config interactive.diffFilter "echo too-short" && + printf y | test_must_fail test_terminal git add -p +' + test_expect_success 'patch-mode via -i prompts for files' ' git reset --hard && |