Commit 3ed1be9f authored by Guido van Rossum's avatar Guido van Rossum

Regression test for date format code, by Mike Meyer.

(I tweaked it slightly so examples are allowed to have no date too.)
parent 4f13669c
...@@ -11,6 +11,7 @@ def test(msg, results): ...@@ -11,6 +11,7 @@ def test(msg, results):
fp.seek(0) fp.seek(0)
m = rfc822.Message(fp) m = rfc822.Message(fp)
i = 0 i = 0
for n, a in m.getaddrlist('to') + m.getaddrlist('cc'): for n, a in m.getaddrlist('to') + m.getaddrlist('cc'):
if verbose: if verbose:
print 'name:', repr(n), 'addr:', repr(a) print 'name:', repr(n), 'addr:', repr(a)
...@@ -28,6 +29,21 @@ def test(msg, results): ...@@ -28,6 +29,21 @@ def test(msg, results):
print ' [no match]' print ' [no match]'
print 'not found:', repr(n), repr(a) print 'not found:', repr(n), repr(a)
out = m.getdate('date')
if out:
if verbose:
print 'Date:', m.getheader('date')
if out == (1999, 1, 13, 23, 57, 35, 0, 0, 0):
if verbose:
print ' [matched]'
else:
if verbose:
print ' [no match]'
print 'Date conversion failed:', out
# Note: all test cases must have the same date (in various formats),
# or no date!
test('''Date: Wed, 13 Jan 1999 23:57:35 -0500 test('''Date: Wed, 13 Jan 1999 23:57:35 -0500
From: Guido van Rossum <guido@CNRI.Reston.VA.US> From: Guido van Rossum <guido@CNRI.Reston.VA.US>
To: "Guido van To: "Guido van
...@@ -40,6 +56,7 @@ test2 ...@@ -40,6 +56,7 @@ test2
test('''From: Barry <bwarsaw@python.org test('''From: Barry <bwarsaw@python.org
To: guido@python.org (Guido: the Barbarian) To: guido@python.org (Guido: the Barbarian)
Subject: nonsense Subject: nonsense
Date: Wednesday, January 13 1999 23:57:35 -0500
test''', [('Guido: the Barbarian', 'guido@python.org'), test''', [('Guido: the Barbarian', 'guido@python.org'),
]) ])
...@@ -47,6 +64,7 @@ test''', [('Guido: the Barbarian', 'guido@python.org'), ...@@ -47,6 +64,7 @@ test''', [('Guido: the Barbarian', 'guido@python.org'),
test('''From: Barry <bwarsaw@python.org test('''From: Barry <bwarsaw@python.org
To: guido@python.org (Guido: the Barbarian) To: guido@python.org (Guido: the Barbarian)
Cc: "Guido: the Madman" <guido@python.org> Cc: "Guido: the Madman" <guido@python.org>
Date: 13-Jan-1999 23:57:35 EST
test''', [('Guido: the Barbarian', 'guido@python.org'), test''', [('Guido: the Barbarian', 'guido@python.org'),
('Guido: the Madman', 'guido@python.org') ('Guido: the Madman', 'guido@python.org')
...@@ -54,6 +72,7 @@ test''', [('Guido: the Barbarian', 'guido@python.org'), ...@@ -54,6 +72,7 @@ test''', [('Guido: the Barbarian', 'guido@python.org'),
test('''To: "The monster with test('''To: "The monster with
the very long name: Guido" <guido@python.org> the very long name: Guido" <guido@python.org>
Date: Wed, 13 Jan 1999 23:57:35 -0500
test''', [('The monster with\n the very long name: Guido', test''', [('The monster with\n the very long name: Guido',
'guido@python.org')]) 'guido@python.org')])
...@@ -63,6 +82,7 @@ CC: Mike Fletcher <mfletch@vrtelecom.com>, ...@@ -63,6 +82,7 @@ CC: Mike Fletcher <mfletch@vrtelecom.com>,
"'string-sig@python.org'" <string-sig@python.org> "'string-sig@python.org'" <string-sig@python.org>
Cc: fooz@bat.com, bart@toof.com Cc: fooz@bat.com, bart@toof.com
Cc: goit@lip.com Cc: goit@lip.com
Date: Wed, 13 Jan 1999 23:57:35 -0500
test''', [('Amit J. Patel', 'amitp@Theory.Stanford.EDU'), test''', [('Amit J. Patel', 'amitp@Theory.Stanford.EDU'),
('Mike Fletcher', 'mfletch@vrtelecom.com'), ('Mike Fletcher', 'mfletch@vrtelecom.com'),
...@@ -75,6 +95,7 @@ test''', [('Amit J. Patel', 'amitp@Theory.Stanford.EDU'), ...@@ -75,6 +95,7 @@ test''', [('Amit J. Patel', 'amitp@Theory.Stanford.EDU'),
# This one is just twisted. I don't know what the proper result should be, # 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! # 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('''To: <[smtp:dd47@mail.xxx.edu]_at_hmhq@hdq-mdm1-imgout.companay.com>
Date: Wed, 13 Jan 1999 23:57:35 -0500
test''', [('', ''), test''', [('', ''),
('', 'dd47@mail.xxx.edu'), ('', 'dd47@mail.xxx.edu'),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment