Signed-off-by: Christian Couder <chrisc...@tuxfamily.org>
---
 t/t7513-interpret-trailers.sh | 71 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

diff --git a/t/t7513-interpret-trailers.sh b/t/t7513-interpret-trailers.sh
index 417a4f3..0a1f3b6 100755
--- a/t/t7513-interpret-trailers.sh
+++ b/t/t7513-interpret-trailers.sh
@@ -333,4 +333,75 @@ test_expect_success 'using "ifMissing = doNothing"' '
        test_cmp expected actual
 '
 
+test_expect_success 'with simple command' '
+       git config trailer.sign.key "Signed-off-by: " &&
+       git config trailer.sign.where "after" &&
+       git config trailer.sign.ifExists "addIfDifferentNeighbor" &&
+       git config trailer.sign.command "echo \"A U Thor 
<aut...@example.com>\"" &&
+       cat complex_message_body >expected &&
+       sed -e "s/ Z\$/ /" >>expected <<-\EOF &&
+               Fixes: Z
+               Acked-by= Z
+               Reviewed-by: Z
+               Signed-off-by: Z
+               Signed-off-by: A U Thor <aut...@example.com>
+       EOF
+       git interpret-trailers "review:" "fix=22" <complex_message >actual &&
+       test_cmp expected actual
+'
+
+test_expect_success 'with command using commiter information' '
+       git config trailer.sign.ifExists "addIfDifferent" &&
+       git config trailer.sign.command "echo \"\$GIT_COMMITTER_NAME 
<\$GIT_COMMITTER_EMAIL>\"" &&
+       cat complex_message_body >expected &&
+       sed -e "s/ Z\$/ /" >>expected <<-\EOF &&
+               Fixes: Z
+               Acked-by= Z
+               Reviewed-by: Z
+               Signed-off-by: Z
+               Signed-off-by: C O Mitter <commit...@example.com>
+       EOF
+       git interpret-trailers "review:" "fix=22" <complex_message >actual &&
+       test_cmp expected actual
+'
+
+test_expect_success 'with command using author information' '
+       git config trailer.sign.key "Signed-off-by: " &&
+       git config trailer.sign.where "after" &&
+       git config trailer.sign.ifExists "addIfDifferentNeighbor" &&
+       git config trailer.sign.command "echo \"\$GIT_AUTHOR_NAME 
<\$GIT_AUTHOR_EMAIL>\"" &&
+       cat complex_message_body >expected &&
+       sed -e "s/ Z\$/ /" >>expected <<-\EOF &&
+               Fixes: Z
+               Acked-by= Z
+               Reviewed-by: Z
+               Signed-off-by: Z
+               Signed-off-by: A U Thor <aut...@example.com>
+       EOF
+       git interpret-trailers "review:" "fix=22" <complex_message >actual &&
+       test_cmp expected actual
+'
+
+test_expect_success 'setup a commit' '
+       echo "Content of the first commit." > a.txt &&
+       git add a.txt &&
+       git commit -m "Add file a.txt"
+'
+
+test_expect_success 'with command using $ARG' '
+       git config trailer.fix.ifExists "overwrite" &&
+       git config trailer.fix.command "git log -1 --oneline --format=\"%h 
(%s)\" --abbrev-commit --abbrev=14 \$ARG" &&
+       FIXED=$(git log -1 --oneline --format="%h (%s)" --abbrev-commit 
--abbrev=14 HEAD) &&
+       cat complex_message_body >expected &&
+       sed -e "s/ Z\$/ /" >>expected <<-EOF &&
+               Fixes: $FIXED
+               Acked-by= Z
+               Reviewed-by: Z
+               Signed-off-by: Z
+               Signed-off-by: A U Thor <aut...@example.com>
+       EOF
+       git interpret-trailers "review:" "fix=HEAD" <complex_message >actual &&
+       test_cmp expected actual
+'
+
 test_done
-- 
1.9.0.164.g3aa33cd.dirty


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to