@@ -303,30 +303,59 @@ defmodule Mail.Parsers.RFC2822Test do
303
303
assert to_datetime ( "invalid date string" ) == { :error , "invalid date string" }
304
304
end
305
305
306
- test "parse_recipient_value retrieves a list of name and addresses" do
307
- recipient =
308
- "The Dude <dude@example.com>, batman@example.com, super<compact@recipi.ent>, \" an@email.com\" <an@email.com>"
309
-
310
- retrieved_recipients = [
311
- { "The Dude" , "dude@example.com" } ,
312
- "batman@example.com" ,
313
- { "super" , "compact@recipi.ent" } ,
314
- { "an@email.com" , "an@email.com" }
315
- ]
316
-
317
- assert parse_recipient ( recipient ) == retrieved_recipients
318
- end
306
+ describe "parse_recipient_value/1" do
307
+ test "parse_recipient_value retrieves a list of name and addresses" do
308
+ recipient =
309
+ ~S| The Dude <dude@example.com>, batman@example.com, super<compact@recipi.ent>, "an@email.com" <an@email.com>|
310
+
311
+ retrieved_recipients = [
312
+ { "The Dude" , "dude@example.com" } ,
313
+ "batman@example.com" ,
314
+ { "super" , "compact@recipi.ent" } ,
315
+ { "an@email.com" , "an@email.com" }
316
+ ]
317
+
318
+ assert parse_recipient ( recipient ) == retrieved_recipients
319
+ end
320
+
321
+ test "parse_recipient_value retrieves an empty list when recipient is empty" do
322
+ assert parse_recipient ( "" ) == [ ]
323
+ end
324
+
325
+ test "parse_recipient_value retrieves an empty list when no \" address\" found" do
326
+ assert parse_recipient ( "NoEmail" ) == [ ]
327
+ end
328
+
329
+ test "parse_recipient_value retrieves a list when only one \" address\" found" do
330
+ assert parse_recipient ( "dude@example.com" ) == [ "dude@example.com" ]
331
+ assert parse_recipient ( "<dude@example.com>" ) == [ "dude@example.com" ]
332
+ end
333
+
334
+ test "parse_recipient_value quoted name" do
335
+ assert parse_recipient ( ~S| "dude" <dude@example.com>| ) == [ { "dude" , "dude@example.com" } ]
336
+
337
+ assert parse_recipient ( ~S| "First, Second" <dude@example.com>| ) == [
338
+ { "First, Second" , "dude@example.com" }
339
+ ]
340
+ end
319
341
320
- test "parse_recipient_value retrieves an empty list when recipient is empty" do
321
- assert parse_recipient ( "" ) == [ ]
322
- end
342
+ test "parse_recipient_value non-quoted name" do
343
+ assert parse_recipient ( ~S| The Dude <dude@example.com>| ) == [
344
+ { "The Dude" , "dude@example.com" }
345
+ ]
346
+ end
323
347
324
- test "parse_recipient_value retrieves an empty list when no \" address\" found" do
325
- assert parse_recipient ( "NoEmail" ) == [ ]
326
- end
348
+ test "parse_recipient_value extra quoted name" do
349
+ assert parse_recipient ( ~S| "\"dude\"" <dude@example.com>| ) == [
350
+ { "\" dude\" " , "dude@example.com" }
351
+ ]
352
+ end
327
353
328
- test "parse_recipient_value retrieves a list when only one \" address\" found" do
329
- assert parse_recipient ( "dude@example.com" ) == [ "dude@example.com" ]
354
+ test "parse_recipient_value extra test" do
355
+ assert parse_recipient ( ~S| "\"service@service.com\" " <service@service.com>| ) == [
356
+ { ~S| "service@service.com" | , "service@service.com" }
357
+ ]
358
+ end
330
359
end
331
360
332
361
test "parses a nested multipart message with encoded part" do
0 commit comments