diff options
Diffstat (limited to 'tests/t0113-tag.sh')
-rwxr-xr-xtests/t0113-tag.sh31
1 file changed, 31 insertions, 0 deletions
diff --git a/tests/t0113-tag.sh b/tests/t0113-tag.sh
index ff50f90..ec6f3c3 100755
--- a/tests/t0113-tag.sh
+++ b/tests/t0113-tag.sh
@@ -59,4 +59,35 @@ test_expect_success 'a tag of anything but a commit offers no download' '
grep ">download<" tmp
'
+# git reads the signature off the end of a tag's message, so a block shaped
+# like one is enough to show it is folded away, with nothing to verify.
+test_expect_success 'a signed tag folds its signature after the message' '
+ (
+ cd repos/foo &&
+ {
+ echo "object $(git rev-parse HEAD)" &&
+ echo "type commit" &&
+ echo "tag signed" &&
+ echo "tagger C O Mitter <committer@example.com> 1700000000 +0000" &&
+ echo &&
+ echo "Signed release" &&
+ echo &&
+ echo "Notes." &&
+ echo &&
+ echo "-----BEGIN PGP SIGNATURE-----" &&
+ echo "iQEzBAABCAAdFiEE" &&
+ echo "-----END PGP SIGNATURE-----"
+ } >signed-tag &&
+ git update-ref refs/tags/signed $(git mktag <signed-tag)
+ ) &&
+ cgit_url "foo/tag/&h=signed" >tmp &&
+ tr -d "\n" <tmp >flat &&
+ grep "<div class=.commit-msg.>Notes.</div><details class=.signature.><summary>Signature</summary><pre>-----BEGIN PGP SIGNATURE-----iQEzBAABCAAdFiEE-----END PGP SIGNATURE-----</pre></details>" flat
+'
+
+test_expect_success 'an unsigned tag has no fold' '
+ cgit_url "foo/tag/&h=v1.0" >tmp &&
+ ! grep "details class=.signature." tmp
+'
+
test_done