From 5d0bf9446b1684b8d2832600ceb49d8c5c4b812d Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Wed, 2 Nov 2005 23:04:26 +0000 Subject: Change time.strptime() to raise ValueError whenever there is an error in the format string. Before exceptions generated by the internal code propagated up to the user and were not helpful. Closes bug #1340337. --- Lib/test/test_strptime.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'Lib/test/test_strptime.py') diff --git a/Lib/test/test_strptime.py b/Lib/test/test_strptime.py index f9763aa34c..ba65649857 100644 --- a/Lib/test/test_strptime.py +++ b/Lib/test/test_strptime.py @@ -197,10 +197,20 @@ class StrptimeTests(unittest.TestCase): """Create testing time tuple.""" self.time_tuple = time.gmtime() - def test_TypeError(self): - # Make sure ValueError is raised when match fails + def test_ValueError(self): + # Make sure ValueError is raised when match fails or format is bad self.assertRaises(ValueError, _strptime.strptime, data_string="%d", format="%A") + for bad_format in ("%", "% ", "%e"): + try: + _strptime.strptime("2005", bad_format) + except ValueError: + continue + except Exception, err: + self.fail("'%s' raised %s, not ValueError" % + (bad_format, err.__class__.__name__)) + else: + self.fail("'%s' did not raise ValueError" % bad_format) def test_unconverteddata(self): # Check ValueError is raised when there is unconverted data -- cgit v1.2.1