Factor out logic in test_diff_funcname() into two helper functions, these will be useful in a follow-up commit where we'll do this munging in more than one place. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- t/t4018-diff-funcname.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/t/t4018-diff-funcname.sh b/t/t4018-diff-funcname.sh index 2365f0e361e..8a8a7a99c88 100755 --- a/t/t4018-diff-funcname.sh +++ b/t/t4018-diff-funcname.sh @@ -75,6 +75,17 @@ test_expect_success 'setup hunk header tests' ' git -C t4018 add . ' +do_change_me () { + file=$1 + sed -e "s/ChangeMe/IWasChanged/" <"$file" >tmp && + mv tmp "$file" +} + +last_diff_context_line () { + file=$1 + sed -n -e "s/^.*@@$//p" -e "s/^.*@@ //p" <$file +} + # check each individual file for i in $(git -C t4018 ls-files) do @@ -85,13 +96,12 @@ do # add test file to the index git add \"$i\" && - # place modified file in the worktree - sed -e 's/ChangeMe/IWasChanged/' <\"t4018/$i.content\" >\"$i\" + do_change_me \"$i\" " test_expect_success "hunk header: $i" " git diff -U1 $i >diff && - sed -n -e 's/^.*@@$//p' -e 's/^.*@@ //p' <diff >ctx && + last_diff_context_line diff >ctx && test_cmp t4018/$i.header ctx " done -- 2.30.0.284.gd98b1dd5eaa7