@@ -2084,22 +2084,24 @@ test_dump_aliases '--dump-aliases mailrc format' \
20842084 ' bob' \
20852085 ' chloe' \
20862086 ' eve' << -\EOF
2087- alias alice Alice W Land <[email protected] > 2088- 2089- alias bob Robert Bobbyton <[email protected] > 2087+ alias alice " Alice W Land <[email protected] >" 2088+ alias eve " Eve <[email protected] >" 2089+ alias bob " Robert Bobbyton <[email protected] >" 2090209020912091 EOF
20922092
20932093test_dump_aliases ' --dump-aliases pine format' \
20942094 ' pine' \
20952095 ' alice' \
2096+ ' bcgrp' \
20962097 ' bob' \
20972098 ' chloe' \
20982099 ' eve' << -\EOF
2099- alice Alice W Land < [email protected] > 2100- 2101- bob Robert Bobbyton < [email protected] > 2100+ alice Alice W Land [email protected] Friend 2101+ 2102+ bob Robert Bobbyton [email protected] 210221032104+ bcgrp (bob, chloe, Other <[email protected] >) 21032105 EOF
21042106
21052107test_dump_aliases ' --dump-aliases gnus format' \
@@ -2118,6 +2120,110 @@ test_expect_success '--dump-aliases must be used alone' '
21182120 test_must_fail git send-email --dump-aliases [email protected] -1 refs/heads/accounting 21192121'
21202122
2123+ test_translate_aliases () {
2124+ msg=" $1 " && shift &&
2125+ filetype=" $1 " && shift &&
2126+ aliases=" $1 " && shift &&
2127+ printf ' %s\n' " $@ " > expect &&
2128+ cat > .tmp-email-aliases &&
2129+ printf ' %s\n' " $aliases " > aliases &&
2130+
2131+ test_expect_success $PREREQ " $msg " '
2132+ clean_fake_sendmail && rm -fr outdir &&
2133+ git config --replace-all sendemail.aliasesfile \
2134+ "$(pwd)/.tmp-email-aliases" &&
2135+ git config sendemail.aliasfiletype "$filetype" &&
2136+ git send-email --translate-aliases <aliases 2>errors >actual &&
2137+ test_cmp expect actual
2138+ '
2139+ }
2140+
2141+ test_translate_aliases ' --translate-aliases sendmail format' \
2142+ ' sendmail' \
2143+ ' alice bcgrp' \
2144+ ' Alice W Land <[email protected] >' \
2145+ ' Robert Bobbyton <[email protected] >' \
2146+ 2147+ ' Other <[email protected] >' << -\EOF 2148+ alice: Alice W Land <[email protected] > 2149+ bob: Robert Bobbyton <[email protected] > 2150+ 2151+ abgroup: alice, bob
2152+ bcgrp: bob, chloe, Other <[email protected] > 2153+ EOF
2154+
2155+ test_translate_aliases ' --translate-aliases mutt format' \
2156+ ' mutt' \
2157+ ' donald bob' \
2158+ ' Donald C Carlton <[email protected] >' \
2159+ ' Robert Bobbyton <[email protected] >' << -\EOF 2160+ alias alice Alice W Land <[email protected] > 2161+ alias donald Donald C Carlton <[email protected] > 2162+ alias bob Robert Bobbyton <[email protected] > 2163+ 2164+ EOF
2165+
2166+ test_translate_aliases ' --translate-aliases mailrc format' \
2167+ ' mailrc' \
2168+ ' chloe eve alice' \
2169+ 2170+ 2171+ ' Alice W Land <[email protected] >' << -\EOF 2172+ alias alice "Alice W Land <[email protected] >" 2173+ alias eve "Eve <[email protected] >" 2174+ alias bob "Robert Bobbyton <[email protected] >" 2175+ 2176+ EOF
2177+
2178+ test_translate_aliases ' --translate-aliases pine format' \
2179+ ' pine' \
2180+ ' eve bob bcgrp' \
2181+ 2182+ 2183+ 2184+ 2185+ ' Other <[email protected] >' << -\EOF 2186+ alice Alice W Land [email protected] Friend 2187+ 2188+ bob Robert Bobbyton [email protected] 2189+ 2190+ bcgrp (bob, chloe, Other <[email protected] >) 2191+ EOF
2192+
2193+ test_translate_aliases ' --translate-aliases gnus format' \
2194+ ' gnus' \
2195+ ' alice chloe eve' \
2196+ 2197+ 2198+ 2199+ (define-mail-alias "alice" "[email protected] ") 2200+ (define-mail-alias "eve" "[email protected] ") 2201+ (define-mail-alias "bob" "[email protected] ") 2202+ (define-mail-alias "chloe" "[email protected] ") 2203+ EOF
2204+
2205+ test_expect_success $PREREQ ' --translate-aliases passes valid addresses through' '
2206+ cat >expect <<-\EOF &&
2207+ 2208+ EOF
2209+ cat >aliases <<-\EOF &&
2210+ 2211+ EOF
2212+ git send-email --translate-aliases <aliases >actual &&
2213+ test_cmp expect actual
2214+ '
2215+
2216+ test_expect_success $PREREQ ' --translate-aliases passes unknown aliases through' '
2217+ cat >expect <<-\EOF &&
2218+ blargh
2219+ EOF
2220+ cat >aliases <<-\EOF &&
2221+ blargh
2222+ EOF
2223+ git send-email --translate-aliases <aliases >actual &&
2224+ test_cmp expect actual
2225+ '
2226+
21212227test_expect_success $PREREQ ' aliases and sendemail.identity' '
21222228 test_must_fail git \
21232229 -c sendemail.identity=cloud \
0 commit comments