Fix time.strptime's %U support. Basically rewrote the algorithm to be more

generic so that one only has to shift certain values based on whether the week
was specified to start on Monday or Sunday.  Cut out a lot of edge case code
compared to the previous version.  Also broke algorithm out into its own
function (that is private to the module).

Fixes bug #1643943 (thanks Biran Nahas for the report).
This commit is contained in:
Brett Cannon 2007-01-25 20:22:02 +00:00
parent 27b4c8b23c
commit 07e1db317d
3 changed files with 39 additions and 34 deletions

View file

@ -463,6 +463,10 @@ class CalculationTests(unittest.TestCase):
"of the year")
test_helper((1917, 12, 31), "Dec 31 on Monday with year starting and "
"ending on Monday")
test_helper((2007, 01, 07), "First Sunday of 2007")
test_helper((2007, 01, 14), "Second Sunday of 2007")
test_helper((2006, 12, 31), "Last Sunday of 2006")
test_helper((2006, 12, 24), "Second to last Sunday of 2006")
class CacheTests(unittest.TestCase):