oops, fixed bug introduced by last change, added test case

This commit is contained in:
gorhill 2013-09-11 11:24:07 -04:00
parent 09aefb5f32
commit 8c982ee625
2 changed files with 11 additions and 2 deletions

View File

@ -236,7 +236,7 @@ func (expr *Expression) calculateActualDaysOfMonth(year, month int) []int {
// offset : (7 - day_of_week_of_1st_day_of_month) // offset : (7 - day_of_week_of_1st_day_of_month)
// target : 1 + (7 * week_of_month) + (offset + day_of_week) % 7 // target : 1 + (7 * week_of_month) + (offset + day_of_week) % 7
for v := range expr.daysOfWeek { for v := range expr.daysOfWeek {
w := dowNormalizedOffsets[offset%7+v] w := dowNormalizedOffsets[(offset+v)%7]
actualDaysOfMonthMap[w[0]] = true actualDaysOfMonthMap[w[0]] = true
actualDaysOfMonthMap[w[1]] = true actualDaysOfMonthMap[w[1]] = true
actualDaysOfMonthMap[w[2]] = true actualDaysOfMonthMap[w[2]] = true

View File

@ -106,8 +106,17 @@ var crontests = []crontest{
{"2013-12-30 00:30:00", "Mon 2014-01-06 00:00"}, {"2013-12-30 00:30:00", "Mon 2014-01-06 00:00"},
}, },
}, },
{
"0 0 * * friday",
"Mon 2006-01-02 15:04",
[]crontimes{
{"2013-01-01 00:00:00", "Fri 2013-01-04 00:00"},
{"2013-01-28 00:00:00", "Fri 2013-02-01 00:00"},
{"2013-12-30 00:30:00", "Fri 2014-01-03 00:00"},
},
},
// Specific weekdays of week // Specific days of week
{ {
"0 0 * * 6#5", "0 0 * * 6#5",
"Mon 2006-01-02 15:04", "Mon 2006-01-02 15:04",