]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t8003-blame-corner-cases.sh
Merge branch 'ea/blame-use-oideq'
[thirdparty/git.git] / t / t8003-blame-corner-cases.sh
index b871dd4f8611d2e1a1b431f55ac82cc918c9e8e8..ba8013b00285afd7f43e7090284e52fa8921224d 100755 (executable)
@@ -273,18 +273,14 @@ 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' '
+test_expect_success 'setup coalesce tests' '
        cat >giraffe <<-\EOF &&
        ABC
        DEF
        EOF
        git add giraffe &&
        git commit -m "original file" &&
-       oid=$(git rev-parse HEAD) &&
+       orig=$(git rev-parse HEAD) &&
 
        cat >giraffe <<-\EOF &&
        ABC
@@ -293,6 +289,7 @@ test_expect_success 'blame coalesce' '
        EOF
        git add giraffe &&
        git commit -m "interior SPLIT line" &&
+       split=$(git rev-parse HEAD) &&
 
        cat >giraffe <<-\EOF &&
        ABC
@@ -300,12 +297,25 @@ test_expect_success 'blame coalesce' '
        EOF
        git add giraffe &&
        git commit -m "same contents as original" &&
+       final=$(git rev-parse HEAD)
+'
+
+test_expect_success 'blame coalesce' '
+       cat >expect <<-EOF &&
+       $orig 1 1 2
+       $orig 2 2
+       EOF
+       git blame --porcelain $final giraffe >actual.raw &&
+       grep "^$orig" actual.raw >actual &&
+       test_cmp expect actual
+'
 
+test_expect_success 'blame does not coalesce non-adjacent result lines' '
        cat >expect <<-EOF &&
-       $oid 1) ABC
-       $oid 2) DEF
+       $orig 1) ABC
+       $orig 3) DEF
        EOF
-       git -c core.abbrev=$(test_oid hexsz) blame -s giraffe >actual &&
+       git blame --no-abbrev -s -L1,1 -L3,3 $split giraffe >actual &&
        test_cmp expect actual
 '