fix(gitea): map hunk-header positions in BuildPositionToLineMap #104
@@ -357,3 +357,27 @@ new file mode 100644
|
||||
t.Errorf("Translate(new.go, 1) = %d, want 1 (first addition line)", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTranslate_HunkHeaderAtEnd(t *testing.T) {
|
||||
// A hunk-header at the last position with no subsequent new-file line should error.
|
||||
// This is the hunk-header equivalent of TestBuildPositionToLineMap_DeletionAtEnd.
|
||||
diff := `diff --git a/file.go b/file.go
|
||||
--- a/file.go
|
||||
+++ b/file.go
|
||||
@@ -1,2 +1,2 @@ package main
|
||||
line1
|
||||
-old
|
||||
+new
|
||||
@@ -10,2 +10,1 @@ func foo() {
|
||||
-removed
|
||||
`
|
||||
pm := BuildPositionToLineMap(diff)
|
||||
|
||||
// Position 5 is the second @@ hunk-header; the only line after it (pos 6) is a
|
||||
// deletion (lineNum == -1), so there's no positive new-file line to resolve to.
|
||||
// The hunk-header lookup should fail.
|
||||
_, err := pm.Translate("file.go", 5)
|
||||
if err == nil {
|
||||
t.Error("expected error for hunk-header at end with no subsequent new-file line")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user