diff options
author | Eric Wong <e@80x24.org> | 2016-07-01 06:11:13 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2016-07-01 06:11:13 +0000 |
commit | c056071159932b3b9c8454314887b6f45de2ae0f (patch) | |
tree | 94bfc8e945f84ca25fdef98c6c372f7dac0645de | |
parent | a5719018b856d1763ca7faebfc0ffa82fb57320a (diff) | |
download | public-inbox-c056071159932b3b9c8454314887b6f45de2ae0f.tar.gz |
It seems common for address entries to end up as: "foo@example" <foo@example> Avoid needlessly displaying the domain name in that case.
-rw-r--r-- | lib/PublicInbox/Address.pm | 4 | ||||
-rw-r--r-- | t/address.t | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/PublicInbox/Address.pm b/lib/PublicInbox/Address.pm index cd5fbfbe..e17d0b57 100644 --- a/lib/PublicInbox/Address.pm +++ b/lib/PublicInbox/Address.pm @@ -16,7 +16,9 @@ sub names { my $e = $1; s/\A['"\s]*//; s/['"\s]*\z//; - $_ =~ /\S/ ? $_ : $e; + $e = $_ =~ /\S/ ? $_ : $e; + $e =~ s/\@\S+\z//; + $e; } split(/\@+[\w\.\-]+>?\s*(?:,\s*|\z)/, $_[0]); } diff --git a/t/address.t b/t/address.t index c488a8ed..3191fed0 100644 --- a/t/address.t +++ b/t/address.t @@ -17,5 +17,7 @@ my @names = PublicInbox::Address::names( is_deeply(['User', 'e', 'John A. Doe', 'x'], \@names, 'name extraction works as expected'); +@names = PublicInbox::Address::names('"user@example.com" <user@example.com>'); +is_deeply(['user'], \@names, 'address-as-name extraction works as expected'); done_testing; |