With the introduction of check-mailmap, it is now possible to check
.mailmap functionality directly rather than indirectly as a side-effect
of other commands (such as git-shortlog), therefore, do so.

Signed-off-by: Eric Sunshine <sunsh...@sunshineco.com>
---
 t/t4203-mailmap.sh | 133 ++++++++++++++++++-----------------------------------
 1 file changed, 45 insertions(+), 88 deletions(-)

diff --git a/t/t4203-mailmap.sh b/t/t4203-mailmap.sh
index 8645492..48a000b 100755
--- a/t/t4203-mailmap.sh
+++ b/t/t4203-mailmap.sh
@@ -74,128 +74,96 @@ test_expect_success 'check-mailmap bogus contact' '
 '
 
 cat >expect <<\EOF
-A U Thor (1):
-      initial
-
-nick1 (1):
-      second
-
+A U Thor <aut...@example.com>
+nick1 <b...@company.xx>
 EOF
 
 test_expect_success 'No mailmap' '
-       git shortlog HEAD >actual &&
+       git check-mailmap --stdin <contacts >actual &&
        test_cmp expect actual
 '
 
 cat >expect <<\EOF
-Repo Guy (1):
-      initial
-
-nick1 (1):
-      second
-
+Repo Guy <aut...@example.com>
+nick1 <b...@company.xx>
 EOF
 
 test_expect_success 'default .mailmap' '
        echo "Repo Guy <aut...@example.com>" > .mailmap &&
-       git shortlog HEAD >actual &&
+       git check-mailmap --stdin <contacts >actual &&
        test_cmp expect actual
 '
 
 # Using a mailmap file in a subdirectory of the repo here, but
 # could just as well have been a file outside of the repository
 cat >expect <<\EOF
-Internal Guy (1):
-      second
-
-Repo Guy (1):
-      initial
-
+Repo Guy <aut...@example.com>
+Internal Guy <b...@company.xx>
 EOF
 test_expect_success 'mailmap.file set' '
        mkdir -p internal_mailmap &&
        echo "Internal Guy <b...@company.xx>" > internal_mailmap/.mailmap &&
        git config mailmap.file internal_mailmap/.mailmap &&
-       git shortlog HEAD >actual &&
+       git check-mailmap --stdin <contacts >actual &&
        test_cmp expect actual
 '
 
 cat >expect <<\EOF
-External Guy (1):
-      initial
-
-Internal Guy (1):
-      second
-
+External Guy <aut...@example.com>
+Internal Guy <b...@company.xx>
 EOF
 test_expect_success 'mailmap.file override' '
        echo "External Guy <aut...@example.com>" >> internal_mailmap/.mailmap &&
        git config mailmap.file internal_mailmap/.mailmap &&
-       git shortlog HEAD >actual &&
+       git check-mailmap --stdin <contacts >actual &&
        test_cmp expect actual
 '
 
 cat >expect <<\EOF
-Repo Guy (1):
-      initial
-
-nick1 (1):
-      second
-
+Repo Guy <aut...@example.com>
+nick1 <b...@company.xx>
 EOF
 
 test_expect_success 'mailmap.file non-existent' '
        rm internal_mailmap/.mailmap &&
        rmdir internal_mailmap &&
-       git shortlog HEAD >actual &&
+       git check-mailmap --stdin <contacts >actual &&
        test_cmp expect actual
 '
 
 cat >expect <<\EOF
-Internal Guy (1):
-      second
-
-Repo Guy (1):
-      initial
-
+Repo Guy <aut...@example.com>
+Internal Guy <b...@company.xy>
 EOF
 
 test_expect_success 'name entry after email entry' '
        mkdir -p internal_mailmap &&
        echo "<b...@company.xy> <b...@company.xx>" >internal_mailmap/.mailmap &&
        echo "Internal Guy <b...@company.xx>" >>internal_mailmap/.mailmap &&
-       git shortlog HEAD >actual &&
+       git check-mailmap --stdin <contacts >actual &&
        test_cmp expect actual
 '
 
 cat >expect <<\EOF
-Internal Guy (1):
-      second
-
-Repo Guy (1):
-      initial
-
+Repo Guy <aut...@example.com>
+Internal Guy <b...@company.xy>
 EOF
 
 test_expect_success 'name entry after email entry, case-insensitive' '
        mkdir -p internal_mailmap &&
        echo "<b...@company.xy> <b...@company.xx>" >internal_mailmap/.mailmap &&
        echo "Internal Guy <b...@company.xx>" >>internal_mailmap/.mailmap &&
-       git shortlog HEAD >actual &&
+       git check-mailmap --stdin <contacts >actual &&
        test_cmp expect actual
 '
 
 cat >expect <<\EOF
-A U Thor (1):
-      initial
-
-nick1 (1):
-      second
-
+A U Thor <aut...@example.com>
+nick1 <b...@company.xx>
 EOF
 test_expect_success 'No mailmap files, but configured' '
        rm -f .mailmap internal_mailmap/.mailmap &&
-       git shortlog HEAD >actual &&
+       git check-mailmap --stdin <contacts >actual &&
        test_cmp expect actual
 '
 
@@ -217,54 +185,43 @@ test_expect_success 'setup mailmap blob tests' '
 
 test_expect_success 'mailmap.blob set' '
        cat >expect <<-\EOF &&
-       Blob Guy (1):
-             second
-
-       Repo Guy (1):
-             initial
-
+       Repo Guy <aut...@example.com>
+       Blob Guy <b...@company.xx>
        EOF
-       git -c mailmap.blob=map:just-bugs shortlog HEAD >actual &&
+       git -c mailmap.blob=map:just-bugs check-mailmap --stdin \
+               <contacts >actual &&
        test_cmp expect actual
 '
 
 test_expect_success 'mailmap.blob overrides .mailmap' '
        cat >expect <<-\EOF &&
-       Blob Guy (2):
-             initial
-             second
-
+       Blob Guy <aut...@example.com>
+       Blob Guy <b...@company.xx>
        EOF
-       git -c mailmap.blob=map:both shortlog HEAD >actual &&
+       git -c mailmap.blob=map:both check-mailmap --stdin \
+               <contacts  >actual &&
        test_cmp expect actual
 '
 
 test_expect_success 'mailmap.file overrides mailmap.blob' '
        cat >expect <<-\EOF &&
-       Blob Guy (1):
-             second
-
-       Internal Guy (1):
-             initial
-
+       Internal Guy <aut...@example.com>
+       Blob Guy <b...@company.xx>
        EOF
        git \
          -c mailmap.blob=map:both \
          -c mailmap.file=internal.map \
-         shortlog HEAD >actual &&
+         check-mailmap --stdin <contacts >actual &&
        test_cmp expect actual
 '
 
 test_expect_success 'mailmap.blob can be missing' '
        cat >expect <<-\EOF &&
-       Repo Guy (1):
-             initial
-
-       nick1 (1):
-             second
-
+       Repo Guy <aut...@example.com>
+       nick1 <b...@company.xx>
        EOF
-       git -c mailmap.blob=map:nonexistent shortlog HEAD >actual &&
+       git -c mailmap.blob=map:nonexistent check-mailmap --stdin \
+               <contacts >actual &&
        test_cmp expect actual
 '
 
@@ -273,12 +230,12 @@ test_expect_success 'mailmap.blob defaults to off in 
non-bare repo' '
        (
                cd non-bare &&
                test_commit one .mailmap "Fake Name <aut...@example.com>" &&
-               echo "     1    Fake Name" >expect &&
-               git shortlog -ns HEAD >actual &&
+               echo "Fake Name <aut...@example.com>" >expect &&
+               git check-mailmap "A U Thor <aut...@example.com>" >actual &&
                test_cmp expect actual &&
                rm .mailmap &&
-               echo "     1    A U Thor" >expect &&
-               git shortlog -ns HEAD >actual &&
+               echo "A U Thor <aut...@example.com>" >expect &&
+               git check-mailmap "A U Thor <aut...@example.com>" >actual &&
                test_cmp expect actual
        )
 '
@@ -287,8 +244,8 @@ test_expect_success 'mailmap.blob defaults to HEAD:.mailmap 
in bare repo' '
        git clone --bare non-bare bare &&
        (
                cd bare &&
-               echo "     1    Fake Name" >expect &&
-               git shortlog -ns HEAD >actual &&
+               echo "Fake Name <aut...@example.com>" >expect &&
+               git check-mailmap "A U Thor <aut...@example.com>" >actual &&
                test_cmp expect actual
        )
 '
-- 
1.8.3.2

--
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