diff options
-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; |