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).
diff --git a/Lib/test/test_strptime.py b/Lib/test/test_strptime.py
index ba65649..56e1ab8 100644
--- a/Lib/test/test_strptime.py
+++ b/Lib/test/test_strptime.py
@@ -463,6 +463,10 @@
"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):