summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2019-07-29 19:39:13 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-07-29 19:39:13 (GMT)
commitc3d4c20c7d862fb168b4b2126443e13c55737507 (patch)
tree99156760fb563a9de7cc1a3c52581cb2a5acfa0a /t
parent995ec8a18f60c23b80ae7ed84f8c921652a6ebb3 (diff)
parentb777f3fd619ac2af507ffd3e7c5fe0d6e36e81f2 (diff)
downloadgit-c3d4c20c7d862fb168b4b2126443e13c55737507.zip
git-c3d4c20c7d862fb168b4b2126443e13c55737507.tar.gz
git-c3d4c20c7d862fb168b4b2126443e13c55737507.tar.bz2
Merge branch 'jk/xdiff-clamp-funcname-context-index'
The internal diff machinery can be made to read out of bounds while looking for --funcion-context line in a corner case, which has been corrected. * jk/xdiff-clamp-funcname-context-index: xdiff: clamp function context indices in post-image
Diffstat (limited to 't')
-rwxr-xr-xt/t4015-diff-whitespace.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/t/t4015-diff-whitespace.sh b/t/t4015-diff-whitespace.sh
index ab4670d..6b087df 100755
--- a/t/t4015-diff-whitespace.sh
+++ b/t/t4015-diff-whitespace.sh
@@ -2008,4 +2008,26 @@ test_expect_success 'compare mixed whitespace delta across moved blocks' '
test_cmp expected actual
'
+# Note that the "6" in the expected hunk header below is funny, since we only
+# show 5 lines (the missing one was blank and thus ignored). This is how
+# --ignore-blank-lines behaves even without --function-context, and this test
+# is just checking the interaction of the two features. Don't take it as an
+# endorsement of that output.
+test_expect_success 'combine --ignore-blank-lines with --function-context' '
+ test_write_lines 1 "" 2 3 4 5 >a &&
+ test_write_lines 1 2 3 4 >b &&
+ test_must_fail git diff --no-index \
+ --ignore-blank-lines --function-context a b >actual.raw &&
+ sed -n "/@@/,\$p" <actual.raw >actual &&
+ cat <<-\EOF >expect &&
+ @@ -1,6 +1,4 @@
+ 1
+ 2
+ 3
+ 4
+ -5
+ EOF
+ test_cmp expect actual
+'
+
test_done