@@ -494,6 +494,24 @@ def test_helper(ymd_tuple, test_reason):
494494 test_helper ((2006 , 12 , 31 ), "Last Sunday of 2006" )
495495 test_helper ((2006 , 12 , 24 ), "Second to last Sunday of 2006" )
496496
497+ def test_week_0 (self ):
498+ def check (value , format , * expected ):
499+ self .assertEqual (_strptime ._strptime_time (value , format )[:- 1 ], expected )
500+ check ('2015 0 0' , '%Y %U %w' , 2014 , 12 , 28 , 0 , 0 , 0 , 6 , - 3 )
501+ check ('2015 0 0' , '%Y %W %w' , 2015 , 1 , 4 , 0 , 0 , 0 , 6 , 4 )
502+ check ('2015 0 1' , '%Y %U %w' , 2014 , 12 , 29 , 0 , 0 , 0 , 0 , - 2 )
503+ check ('2015 0 1' , '%Y %W %w' , 2014 , 12 , 29 , 0 , 0 , 0 , 0 , - 2 )
504+ check ('2015 0 2' , '%Y %U %w' , 2014 , 12 , 30 , 0 , 0 , 0 , 1 , - 1 )
505+ check ('2015 0 2' , '%Y %W %w' , 2014 , 12 , 30 , 0 , 0 , 0 , 1 , - 1 )
506+ check ('2015 0 3' , '%Y %U %w' , 2014 , 12 , 31 , 0 , 0 , 0 , 2 , 0 )
507+ check ('2015 0 3' , '%Y %W %w' , 2014 , 12 , 31 , 0 , 0 , 0 , 2 , 0 )
508+ check ('2015 0 4' , '%Y %U %w' , 2015 , 1 , 1 , 0 , 0 , 0 , 3 , 1 )
509+ check ('2015 0 4' , '%Y %W %w' , 2015 , 1 , 1 , 0 , 0 , 0 , 3 , 1 )
510+ check ('2015 0 5' , '%Y %U %w' , 2015 , 1 , 2 , 0 , 0 , 0 , 4 , 2 )
511+ check ('2015 0 5' , '%Y %W %w' , 2015 , 1 , 2 , 0 , 0 , 0 , 4 , 2 )
512+ check ('2015 0 6' , '%Y %U %w' , 2015 , 1 , 3 , 0 , 0 , 0 , 5 , 3 )
513+ check ('2015 0 6' , '%Y %W %w' , 2015 , 1 , 3 , 0 , 0 , 0 , 5 , 3 )
514+
497515
498516class CacheTests (unittest .TestCase ):
499517 """Test that caching works properly."""
0 commit comments