From a6af27ba1ed066cf7e9d3ef5d075f9f57df74714 Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Sat, 1 Aug 2020 00:12:40 +0300 Subject: [PATCH] Add a failing test for addrparse_header Mailbox name is only decoded if it is first in the list. In the test, the second mailbox name is not decoded. --- src/addrparse.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/addrparse.rs b/src/addrparse.rs index 1eaa794..c4a06ae 100644 --- a/src/addrparse.rs +++ b/src/addrparse.rs @@ -1062,5 +1062,26 @@ mod tests { .unwrap() )]) ); + + let (parsed, _) = crate::parse_header( + b"To: foo ,?UTF-8?B?Zm9v8J+Qm2Jhcg==?= ", + ) + .unwrap(); + assert_eq!( + addrparse_header(&parsed).unwrap(), + MailAddrList(vec![ + MailAddr::Single( + SingleInfo::new(Some("foo".to_string()), "foo@example.org".to_string()) + .unwrap() + ), + MailAddr::Single( + SingleInfo::new( + Some("foo\u{1f41b}bar".to_string()), + "bar@example.org".to_string() + ) + .unwrap() + ) + ]) + ); } }