Skip to content

Commit

Permalink
Merge pull request #52 from adhocore/51-unreach-year
Browse files Browse the repository at this point in the history
fix: unreachable yer #51
  • Loading branch information
adhocore authored Nov 10, 2024
2 parents 8abd859 + 47b724d commit 292e1ca
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
2 changes: 1 addition & 1 deletion next.go
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ func isUnreachableYear(year string, ref time.Time, incl bool, reverse bool) bool
}
for _, part := range strings.Split(dashRe.ReplaceAllString(offset, ""), "-") {
val, err := strconv.Atoi(part)
if err != nil || (!reverse && val >= edge) || (reverse && val < edge) {
if err != nil || (!reverse && val >= edge) || (reverse && val <= edge) {
return false
}
}
Expand Down
15 changes: 15 additions & 0 deletions next_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,18 @@ func TestNextTickAfter(t *testing.T) {
}
})
}

// https://github.com/adhocore/gronx/issues/51
func TestIsUnreachableYearCurrentYear(t *testing.T) {
now := time.Date(2024, time.November, 8, 22, 18, 16, 0, time.UTC)

cronExpr := "30 15 4 11 * 2024"
expectedTime := time.Date(2024, time.November, 4, 15, 30, 0, 0, time.UTC)
actualTime, err := PrevTickBefore(cronExpr, now, true)

if err != nil {
t.Errorf("got unexpected error: %s", err)
} else if !actualTime.Equal(expectedTime) {
t.Errorf("expected previous tick to be %v, got %v", expectedTime, actualTime)
}
}

0 comments on commit 292e1ca

Please sign in to comment.