sha1-lookup: handle duplicate keys with GIT_USE_LOOKUP
[gitweb.git] / t / t9001-send-email.sh
index f4745ce7422cf7b8bb84a5f2ab77931574ba65af..d6f0271866173be0fdaf6d1308b1027e882f9b30 100755 (executable)
@@ -204,16 +204,48 @@ test_suppress_self_unquoted () {
 
                unquoted-$3
 
+               cccmd--$1 <$2>
+
+               Cc: $1 <$2>
+               Signed-off-by: $1 <$2>
+       EOF
+}
+
+test_suppress_self_quoted () {
+       test_suppress_self "$1" "$2" "quoted-$3" <<-EOF
+               test suppress-cc.self quoted-$3 with name $1 email $2
+
+               quoted-$3
+
+               cccmd--"$1" <$2>
+
                Cc: $1 <$2>
+               Cc: "$1" <$2>
                Signed-off-by: $1 <$2>
+               Signed-off-by: "$1" <$2>
        EOF
 }
 
 test_expect_success $PREREQ 'self name is suppressed' "
-       test_suppress_self_unquoted 'A U Thor' 'author@redhat.com' \
+       test_suppress_self_unquoted 'A U Thor' 'author@example.com' \
                'self_name_suppressed'
 "
 
+test_expect_success $PREREQ 'self name with dot is suppressed' "
+       test_suppress_self_quoted 'A U. Thor' 'author@example.com' \
+               'self_name_dot_suppressed'
+"
+
+test_expect_success $PREREQ 'non-ascii self name is suppressed' "
+       test_suppress_self_quoted 'Füñný Nâmé' 'odd_?=mail@example.com' \
+               'non_ascii_self_suppressed'
+"
+
+test_expect_success $PREREQ 'sanitized self name is suppressed' "
+       test_suppress_self_unquoted '\"A U. Thor\"' 'author@example.com' \
+               'self_name_sanitized_suppressed'
+"
+
 test_expect_success $PREREQ 'Show all headers' '
        git send-email \
                --dry-run \
@@ -924,6 +956,20 @@ test_expect_success $PREREQ 'utf8 author is correctly passed on' '
        grep "^From: Füñný Nâmé <odd_?=mail@example.com>" msgtxt1
 '
 
+test_expect_success $PREREQ 'utf8 sender is not duplicated' '
+       clean_fake_sendmail &&
+       test_commit weird_sender &&
+       test_when_finished "git reset --hard HEAD^" &&
+       git commit --amend --author "Füñný Nâmé <odd_?=mail@example.com>" &&
+       git format-patch --stdout -1 >funny_name.patch &&
+       git send-email --from="Füñný Nâmé <odd_?=mail@example.com>" \
+         --to=nobody@example.com \
+         --smtp-server="$(pwd)/fake.sendmail" \
+         funny_name.patch &&
+       grep "^From: " msgtxt1 >msgfrom &&
+       test_line_count = 1 msgfrom
+'
+
 test_expect_success $PREREQ 'sendemail.composeencoding works' '
        clean_fake_sendmail &&
        git config sendemail.composeencoding iso-8859-1 &&