blame: add a test to cover blame_coalesce()

Signed-off-by: Barret Rhoden <brho@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Barret Rhoden 2019-06-20 12:38:20 -04:00 committed by Junio C Hamano
parent a07a97760c
commit f0cbe742f4

View File

@ -275,4 +275,40 @@ test_expect_success 'blame file with CRLF core.autocrlf=true' '
grep "A U Thor" actual
'
# Tests the splitting and merging of blame entries in blame_coalesce().
# The output of blame is the same, regardless of whether blame_coalesce() runs
# or not, so we'd likely only notice a problem if blame crashes or assigned
# blame to the "splitting" commit ('SPLIT' below).
test_expect_success 'blame coalesce' '
cat >giraffe <<-\EOF &&
ABC
DEF
EOF
git add giraffe &&
git commit -m "original file" &&
oid=$(git rev-parse HEAD) &&
cat >giraffe <<-\EOF &&
ABC
SPLIT
DEF
EOF
git add giraffe &&
git commit -m "interior SPLIT line" &&
cat >giraffe <<-\EOF &&
ABC
DEF
EOF
git add giraffe &&
git commit -m "same contents as original" &&
cat >expect <<-EOF &&
$oid 1) ABC
$oid 2) DEF
EOF
git -c core.abbrev=40 blame -s giraffe >actual &&
test_cmp expect actual
'
test_done