[ { "header": "John Doe \n", "expected": { "List": [ { "name": "John Doe", "address": "jdoe@machine.example" } ] } }, { "header": " Mary Smith \n", "expected": { "List": [ { "name": "Mary Smith", "address": "mary@example.net" } ] } }, { "header": "\"Joe Q. Public\" \n", "expected": { "List": [ { "name": "Joe Q. Public", "address": "john.q.public@example.com" } ] } }, { "header": "Mary Smith , jdoe@example.org, Who? \n", "expected": { "List": [ { "name": "Mary Smith", "address": "mary@x.test" }, { "name": null, "address": "jdoe@example.org" }, { "name": "Who?", "address": "one@y.test" } ] } }, { "header": ", \"Giant; \\\"Big\\\" Box\" \n", "expected": { "List": [ { "name": null, "address": "boss@nil.test" }, { "name": "Giant; \"Big\" Box", "address": "sysservices@example.net" } ] } }, { "header": "A Group:Ed Jones ,joe@where.test,John ;\n", "expected": { "Group": [ { "name": "A Group", "addresses": [ { "name": "Ed Jones", "address": "c@a.test" }, { "name": null, "address": "joe@where.test" }, { "name": "John", "address": "jdoe@one.test" } ] } ] } }, { "header": "Undisclosed recipients:;\n", "expected": { "Group": [ { "name": "Undisclosed recipients", "addresses": [] } ] } }, { "header": "\"Mary Smith: Personal Account\" \n", "expected": { "List": [ { "name": "Mary Smith: Personal Account", "address": "smith@home.example" } ] } }, { "header": "Pete(A nice \\) chap) \n", "expected": { "List": [ { "name": "Pete (A nice ) chap his account his host)", "address": "pete@silly.test" } ] } }, { "header": "Pete(A nice \n \\\n ) chap) \n", "expected": { "List": [ { "name": "Pete (A nice ) chap his account his host)", "address": "pete@silly.test" } ] } }, { "header": "A Group(Some people)\n :Chris Jones ,\n joe@example.org,\n John (my dear friend); (the end of the group)\n", "expected": { "Group": [ { "name": "A Group (Some people)", "addresses": [ { "name": "Chris Jones (Chris's host.)", "address": "c@public.example" }, { "name": null, "address": "joe@example.org" }, { "name": "John (my dear friend)", "address": "jdoe@one.test" } ] }, { "name": null, "addresses": [ { "name": "the end of the group", "address": null } ] } ] } }, { "header": "(Empty list)(start)Hidden recipients :(nobody(that I know)) ;\n", "expected": { "Group": [ { "name": "Hidden recipients (Empty list start)", "addresses": [ { "name": "nobody(that I know)", "address": null } ] } ] } }, { "header": "Joe Q. Public \n", "expected": { "List": [ { "name": "Joe Q. Public", "address": "john.q.public@example.com" } ] } }, { "header": "Mary Smith <@node.test:mary@example.net>, , jdoe@test . example\n", "expected": { "List": [ { "name": "Mary Smith", "address": "@node.test:mary@example.net" }, { "name": null, "address": "jdoe@test . example" } ] } }, { "header": "John Doe \n", "expected": { "List": [ { "name": "John Doe (comment)", "address": "jdoe@machine. example" } ] } }, { "header": "Mary Smith\n \n\t\n", "expected": { "List": [ { "name": "Mary Smith", "address": "mary@example.net" } ] } }, { "header": "=?US-ASCII*EN?Q?Keith_Moore?= \n", "expected": { "List": [ { "name": "Keith Moore", "address": "moore@cs.utk.edu" } ] } }, { "header": "John =?US-ASCII*EN?Q?Doe?= \n", "expected": { "List": [ { "name": "John Doe", "address": "moore@cs.utk.edu" } ] } }, { "header": "=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= \n", "expected": { "List": [ { "name": "Keld Jørn Simonsen", "address": "keld@dkuug.dk" } ] } }, { "header": "=?ISO-8859-1?Q?Andr=E9?= Pirard \n", "expected": { "List": [ { "name": "André Pirard", "address": "PIRARD@vm1.ulg.ac.be" } ] } }, { "header": "=?ISO-8859-1?Q?Olle_J=E4rnefors?= \n", "expected": { "List": [ { "name": "Olle Järnefors", "address": "ojarnef@admin.kth.se" } ] } }, { "header": "ietf-822@dimacs.rutgers.edu, ojarnef@admin.kth.se\n", "expected": { "List": [ { "name": null, "address": "ietf-822@dimacs.rutgers.edu" }, { "name": null, "address": "ojarnef@admin.kth.se" } ] } }, { "header": "Nathaniel Borenstein \n (=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=)\n", "expected": { "List": [ { "name": "Nathaniel Borenstein (םולש ןב ילטפנ)", "address": "nsb@thumper.bellcore.com" } ] } }, { "header": "Greg Vaudreuil , Ned Freed\n , Keith Moore \n", "expected": { "List": [ { "name": "Greg Vaudreuil", "address": "gvaudre@NRI.Reston.VA.US" }, { "name": "Ned Freed", "address": "ned@innosoft.com" }, { "name": "Keith Moore", "address": "moore@cs.utk.edu" } ] } }, { "header": "=?ISO-8859-1?Q?a?= \n", "expected": { "List": [ { "name": "a", "address": "test@test.com" } ] } }, { "header": "\"=?ISO-8859-1?Q?a?= b\" \n", "expected": { "List": [ { "name": "a b", "address": "test@test.com" } ] } }, { "header": "=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?= \n", "expected": { "List": [ { "name": "ab", "address": "test@test.com" } ] } }, { "header": "=?ISO-8859-1?Q?a?=\n =?ISO-8859-1?Q?b?= \n", "expected": { "List": [ { "name": "ab", "address": "test@test.com" } ] } }, { "header": "=?ISO-8859-1?Q?a?= \"=?ISO-8859-2?Q?_b?=\" \n", "expected": { "List": [ { "name": "a b", "address": "test@test.com" } ] } }, { "header": " \n", "expected": { "List": [ { "name": null, "address": "test@test.com" } ] } }, { "header": "test@test.com\ninvalid@address.com\n", "expected": { "List": [ { "name": null, "address": "test@test.com" } ] } }, { "header": "\"=?ISO-8859-1?Q =?ISO-8859-1?Q?a?= \\\" =?ISO-8859-1?Q?b?=\" \n\nbody@content.com", "expected": { "List": [ { "name": "=?ISO-8859-1?Q a \" b", "address": "last@address.com" } ] } }, { "header": "=? \n", "expected": { "List": [ { "name": "=?", "address": "name@domain.com" } ] } }, { "header": "\" James Smythe\" , Friends:\n jane@example.com, =?UTF-8?Q?John_Sm=C3=AEth?=\n ;\n", "expected": { "Group": [ { "name": null, "addresses": [ { "name": " James Smythe", "address": "james@example.com" } ] }, { "name": "Friends", "addresses": [ { "name": null, "address": "jane@example.com" }, { "name": "John Smîth", "address": "john@example.com" } ] } ] } }, { "header": "List 1: addr1@test.com, addr2@test.com; List 2: addr3@test.com, addr4@test.com; addr5@test.com, addr6@test.com\n", "expected": { "Group": [ { "name": "List 1", "addresses": [ { "name": null, "address": "addr1@test.com" }, { "name": null, "address": "addr2@test.com" } ] }, { "name": "List 2", "addresses": [ { "name": null, "address": "addr3@test.com" }, { "name": null, "address": "addr4@test.com" } ] }, { "name": null, "addresses": [ { "name": null, "address": "addr5@test.com" }, { "name": null, "address": "addr6@test.com" } ] } ] } }, { "header": "\"List 1\": addr1@test.com, addr2@test.com; \"List 2\": addr3@test.com, addr4@test.com; addr5@test.com, addr6@test.com\n", "expected": { "Group": [ { "name": "List 1", "addresses": [ { "name": null, "address": "addr1@test.com" }, { "name": null, "address": "addr2@test.com" } ] }, { "name": "List 2", "addresses": [ { "name": null, "address": "addr3@test.com" }, { "name": null, "address": "addr4@test.com" } ] }, { "name": null, "addresses": [ { "name": null, "address": "addr5@test.com" }, { "name": null, "address": "addr6@test.com" } ] } ] } }, { "header": "\"=?utf-8?b?VGjDrXMgw61zIHbDoWzDrWQgw5pURjg=?=\": addr1@test.com, addr2@test.com; =?utf-8?b?VGjDrXMgw61zIHbDoWzDrWQgw5pURjg=?=: addr3@test.com, addr4@test.com; addr5@test.com, addr6@test.com\n", "expected": { "Group": [ { "name": "Thís ís válíd ÚTF8", "addresses": [ { "name": null, "address": "addr1@test.com" }, { "name": null, "address": "addr2@test.com" } ] }, { "name": "Thís ís válíd ÚTF8", "addresses": [ { "name": null, "address": "addr3@test.com" }, { "name": null, "address": "addr4@test.com" } ] }, { "name": null, "addresses": [ { "name": null, "address": "addr5@test.com" }, { "name": null, "address": "addr6@test.com" } ] } ] } }, { "header": " (Web Archive)\n", "expected": { "List": [ { "name": "Web Archive", "address": "http://www.host.com/list/archive/" } ] } }, { "header": "\n", "expected": { "List": [ { "name": null, "address": "mailto:archive@host.com?subject=index%20list" } ] } }, { "header": " (Postings are Moderated)\n", "expected": { "List": [ { "name": "Postings are Moderated", "address": "mailto:moderator@host.com" } ] } }, { "header": "(Use this command to join the list)\n \n", "expected": { "List": [ { "name": "Use this command to join the list", "address": "mailto:list-manager@host.com?body=subscribe%20list" } ] } }, { "header": ",\n \n", "expected": { "List": [ { "name": null, "address": "http://www.host.com/list.cgi?cmd=sub&lst=list" }, { "name": null, "address": "mailto:list-manager@host.com?body=subscribe%20list" } ] } }, { "header": "NO (posting not allowed on this list)\n", "expected": { "List": [ { "name": "posting not allowed on this list", "address": "NO" } ] } }, { "header": " (FTP),\n \n", "expected": { "List": [ { "name": "FTP", "address": "ftp://ftp.host.com/list.txt" }, { "name": null, "address": "mailto:list@host.com?subject=help" } ] } }, { "header": ", \n", "expected": { "List": [ { "name": null, "address": "http://www.host.com/list/" }, { "name": null, "address": "mailto:list-info@host.com" } ] } }, { "header": "(Use this command to get off the list)\n \n", "expected": { "List": [ { "name": "Use this command to get off the list", "address": "mailto:list-manager@host.com?body=unsubscribe%20list" } ] } }, { "header": ",\n \n", "expected": { "List": [ { "name": null, "address": "http://www.host.com/list.cgi?cmd=unsub&lst=list" }, { "name": null, "address": "mailto:list-request@host.com?subject=unsubscribe" } ] } }, { "header": " (Contact Person for Help)\n", "expected": { "List": [ { "name": "Contact Person for Help", "address": "mailto:listmom@host.com" } ] } }, { "header": "\"\\\\\\\\\\\\\\\\S. NIG\\\\\\\\\\\\\\\\\" ", "expected": { "List": [ { "name": "\\\\\\\\S. NIG\\\\\\\\", "address": "first.last@host.com" } ] } }, { "header": "\"phil@example.com\" \n", "expected": { "List": [ { "name": "phil@example.com", "address": "phil@example.com" } ] } }, { "header": "\"\" \n", "expected": { "List": [ { "name": "", "address": "phil@example.com" } ] } }, { "header": "phil@example.com \n", "expected": { "List": [ { "name": "phil@example.com", "address": "phil@example.com" } ] } } ]