The fuctionality of 'l' as day of month was brokne, since the month variable was not properly updated
This commit is contained in:
parent
1250656c3a
commit
d896ef747f
|
@ -350,6 +350,7 @@ class croniter(object):
|
||||||
for proc in procs:
|
for proc in procs:
|
||||||
(changed, dst) = proc(dst)
|
(changed, dst) = proc(dst)
|
||||||
if changed:
|
if changed:
|
||||||
|
day, month, year = dst.day, dst.month, dst.year
|
||||||
next = True
|
next = True
|
||||||
break
|
break
|
||||||
if next:
|
if next:
|
||||||
|
|
|
@ -164,6 +164,22 @@ class CroniterTest(base.TestCase):
|
||||||
self.assertEqual(n4.month, 1)
|
self.assertEqual(n4.month, 1)
|
||||||
self.assertEqual(n4.year, 2011)
|
self.assertEqual(n4.year, 2011)
|
||||||
|
|
||||||
|
def testLastDayOfMonth(self):
|
||||||
|
base = datetime(2015, 9, 4)
|
||||||
|
itr = croniter('0 0 l * *', base)
|
||||||
|
n1 = itr.get_next(datetime)
|
||||||
|
self.assertEqual(n1.month, 9)
|
||||||
|
self.assertEqual(n1.day, 30)
|
||||||
|
n2 = itr.get_next(datetime)
|
||||||
|
self.assertEqual(n2.month, 10)
|
||||||
|
self.assertEqual(n2.day, 31)
|
||||||
|
n3 = itr.get_next(datetime)
|
||||||
|
self.assertEqual(n3.month, 11)
|
||||||
|
self.assertEqual(n3.day, 30)
|
||||||
|
n4 = itr.get_next(datetime)
|
||||||
|
self.assertEqual(n4.month, 12)
|
||||||
|
self.assertEqual(n4.day, 31)
|
||||||
|
|
||||||
def testError(self):
|
def testError(self):
|
||||||
itr = croniter('* * * * *')
|
itr = croniter('* * * * *')
|
||||||
self.assertRaises(TypeError, itr.get_next, str)
|
self.assertRaises(TypeError, itr.get_next, str)
|
||||||
|
|
Loading…
Reference in New Issue