]> git.ipfire.org Git - thirdparty/git.git/commitdiff
mailmap tests: add a test for comment syntax
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Tue, 12 Jan 2021 20:18:02 +0000 (21:18 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 12 Jan 2021 22:04:42 +0000 (14:04 -0800)
Add a test for mailmap comment syntax. As noted in [1] there was no
test coverage for this. Let's make sure a future change doesn't break
it.

1. https://lore.kernel.org/git/CAN0heSoKYWXqskCR=GPreSHc6twCSo1345WTmiPdrR57XSShhA@mail.gmail.com/

Reported-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4203-mailmap.sh

index 96ba5367c6ad4fd8be421a12a21600b6c107480a..10e672e006540bff6710e5b906762a67f4fb0fa9 100755 (executable)
@@ -753,4 +753,37 @@ test_expect_success 'commit --author honors mailmap' '
        test_cmp expect actual
 '
 
+test_expect_success 'comment syntax: setup' '
+       test_create_repo comm &&
+       test_commit -C comm --author "A <a@example.com>" A &&
+       test_commit -C comm --author "B <b@example.com>" B &&
+       test_commit -C comm --author "C <#@example.com>" C &&
+       test_commit -C comm --author "D <d@e#ample.com>" D &&
+
+       test_config -C comm mailmap.file ../doc.map &&
+       cat >>doc.map <<-\EOF &&
+       # Ah <a@example.com>
+
+       ; Bee <b@example.com>
+       Cee <cee@example.com> <#@example.com>
+       Dee <dee@example.com> <d@e#ample.com>
+       EOF
+
+       cat >expect <<-\EOF &&
+       Author A <a@example.com> maps to A <a@example.com>
+       Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+       Author B <b@example.com> maps to ; Bee <b@example.com>
+       Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+       Author C <#@example.com> maps to Cee <cee@example.com>
+       Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+       Author D <d@e#ample.com> maps to Dee <dee@example.com>
+       Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+       EOF
+       git -C comm log --reverse --pretty=format:"Author %an <%ae> maps to %aN <%aE>%nCommitter %cn <%ce> maps to %cN <%cE>%n" >actual &&
+       test_cmp expect actual
+'
+
 test_done