diff options
-rw-r--r-- | src/croniter/croniter.py | 4 | ||||
-rwxr-xr-x | src/croniter/tests/test_croniter.py | 30 |
2 files changed, 32 insertions, 2 deletions
diff --git a/src/croniter/croniter.py b/src/croniter/croniter.py index 395279c..33e79c5 100644 --- a/src/croniter/croniter.py +++ b/src/croniter/croniter.py @@ -586,8 +586,8 @@ class croniter(object): return True @classmethod - def match(cls, cron_expression, testdate): - cron = cls(cron_expression, testdate, ret_type=datetime.datetime) + def match(cls, cron_expression, testdate, day_or=True): + cron = cls(cron_expression, testdate, ret_type=datetime.datetime, day_or=day_or) td, ms1 = cron.get_current(datetime.datetime), relativedelta(microseconds=1) cron.set_current(td + ms1) tdp, tdt = cron.get_current(), cron.get_prev() diff --git a/src/croniter/tests/test_croniter.py b/src/croniter/tests/test_croniter.py index d0b435d..afaacde 100755 --- a/src/croniter/tests/test_croniter.py +++ b/src/croniter/tests/test_croniter.py @@ -970,6 +970,36 @@ class CroniterTest(base.TestCase): "31 * * * *", datetime(2019, 1, 14, 1, 31, 0, 0) )) + self.assertTrue(croniter.match( + "0 0 10 * wed", + datetime(2020, 6, 10, 0, 0, 0, 0), + day_or=True + )) + self.assertTrue(croniter.match( + "0 0 10 * fri", + datetime(2020, 6, 10, 0, 0, 0, 0), + day_or=True + )) + self.assertTrue(croniter.match( + "0 0 10 * fri", + datetime(2020, 6, 12, 0, 0, 0, 0), + day_or=True + )) + self.assertTrue(croniter.match( + "0 0 10 * wed", + datetime(2020, 6, 10, 0, 0, 0, 0), + day_or=False + )) + self.assertFalse(croniter.match( + "0 0 10 * fri", + datetime(2020, 6, 10, 0, 0, 0, 0), + day_or=False + )) + self.assertFalse(croniter.match( + "0 0 10 * fri", + datetime(2020, 6, 12, 0, 0, 0, 0), + day_or=False + )) def test_dst_issue90_st31ny(self): |