Update of /cvsroot/python/python/dist/src/Lib/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27014/Lib/test Modified Files: Tag: release23-maint test_strptime.py Log Message: Add support for using %U and %W in strptime when year and day of the week are also specified. Closes bug #1045381. Index: test_strptime.py =================================================================== RCS file: /cvsroot/python/python/dist/src/Lib/test/test_strptime.py,v retrieving revision 1.19.4.4 retrieving revision 1.19.4.5 diff -u -d -r1.19.4.4 -r1.19.4.5 --- test_strptime.py 29 Aug 2003 02:34:22 -0000 1.19.4.4 +++ test_strptime.py 18 Oct 2004 01:56:16 -0000 1.19.4.5 @@ -6,6 +6,7 @@ import re import sys from test import test_support +from datetime import date as datetime_date import _strptime @@ -450,6 +451,29 @@ "Calculation of day of the week failed;" "%s != %s" % (result.tm_wday, self.time_tuple.tm_wday)) + def test_week_of_year_and_day_of_week_calculation(self): + # Should be able to infer date if given year, week of year (%U or %W) + # and day of the week + def test_helper(ymd_tuple, test_reason): + for directive in ('W', 'U'): + format_string = "%%Y %%%s %%w" % directive + strp_input = datetime_date(*ymd_tuple).strftime(format_string) + strp_output = _strptime.strptime(strp_input, format_string) + self.failUnless(strp_output[:3] == ymd_tuple, + "%s(%s) test failed w/ '%s': %s != %s" % + (test_reason, directive, strp_input, + strp_output[:3], ymd_tuple[:3])) + test_helper((1901, 1, 3), "week 0") + test_helper((1901, 1, 8), "common case") + test_helper((1901, 1, 13), "day on Sunday") + test_helper((1901, 1, 14), "day on Monday") + test_helper((1905, 1, 1), "Jan 1 on Sunday") + test_helper((1906, 1, 1), "Jan 1 on Monday") + test_helper((1905, 12, 31), "Dec 31 on Sunday") + test_helper((1906, 12, 31), "Dec 31 on Monday") + + + class CacheTests(unittest.TestCase): """Test that caching works properly."""