diff --git a/Lib/test/output/test_rfc822 b/Lib/test/output/test_rfc822 new file mode 100644 index 00000000000..acf47239e76 --- /dev/null +++ b/Lib/test/output/test_rfc822 @@ -0,0 +1 @@ +test_rfc822 diff --git a/Lib/test/test_rfc822.py b/Lib/test/test_rfc822.py new file mode 100644 index 00000000000..b8ae8c70ad7 --- /dev/null +++ b/Lib/test/test_rfc822.py @@ -0,0 +1,82 @@ +from test_support import verbose +import rfc822, sys +try: + from cStringIO import StringIO +except ImportError: + from StringIO import StringIO + +def test(msg, results): + fp = StringIO() + fp.write(msg) + fp.seek(0) + m = rfc822.Message(fp) + i = 0 + for n, a in m.getaddrlist('to') + m.getaddrlist('cc'): + if verbose: + print 'name:', repr(n), 'addr:', repr(a) + try: + mn, ma = results[i][0], results[i][1] + except IndexError: + print 'extra parsed address:', repr(n), repr(a) + continue + i = i + 1 + if mn == n and ma == a: + if verbose: + print ' [matched]' + else: + if verbose: + print ' [no match]' + print 'not found:', repr(n), repr(a) + +test('''Date: Wed, 13 Jan 1999 23:57:35 -0500 +From: Guido van Rossum +To: "Guido van + : Rossum" +Subject: test2 + +test2 +''', [('Guido van\n : Rossum', 'guido@python.org')]) + +test('''From: Barry + +test''', [('Guido: the Barbarian', 'guido@python.org'), + ('Guido: the Madman', 'guido@python.org') + ]) + +test('''To: "The monster with + the very long name: Guido" + +test''', [('The monster with\n the very long name: Guido', + 'guido@python.org')]) + +test('''To: "Amit J. Patel" +CC: Mike Fletcher , + "'string-sig@python.org'" +Cc: fooz@bat.com, bart@toof.com +Cc: goit@lip.com + +test''', [('Amit J. Patel', 'amitp@Theory.Stanford.EDU'), + ('Mike Fletcher', 'mfletch@vrtelecom.com'), + ("'string-sig@python.org'", 'string-sig@python.org'), + ('', 'fooz@bat.com'), + ('', 'bart@toof.com'), + ('', 'goit@lip.com'), + ]) + +# This one is just twisted. I don't know what the proper result should be, +# but it shouldn't be to infloop, which is what used to happen! +test('''To: <[smtp:dd47@mail.xxx.edu]_at_hmhq@hdq-mdm1-imgout.companay.com> + +test''', [('', ''), + ('', 'dd47@mail.xxx.edu'), + ('', '_at_hmhq@hdq-mdm1-imgout.companay.com') + ])