Skip to content

Commit 47b724d

Browse files
committed
fix: unreachable yer #51
1 parent 8abd859 commit 47b724d

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

next.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ func isUnreachableYear(year string, ref time.Time, incl bool, reverse bool) bool
141141
}
142142
for _, part := range strings.Split(dashRe.ReplaceAllString(offset, ""), "-") {
143143
val, err := strconv.Atoi(part)
144-
if err != nil || (!reverse && val >= edge) || (reverse && val < edge) {
144+
if err != nil || (!reverse && val >= edge) || (reverse && val <= edge) {
145145
return false
146146
}
147147
}

next_test.go

+15
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,18 @@ func TestNextTickAfter(t *testing.T) {
7272
}
7373
})
7474
}
75+
76+
// https://github.com/adhocore/gronx/issues/51
77+
func TestIsUnreachableYearCurrentYear(t *testing.T) {
78+
now := time.Date(2024, time.November, 8, 22, 18, 16, 0, time.UTC)
79+
80+
cronExpr := "30 15 4 11 * 2024"
81+
expectedTime := time.Date(2024, time.November, 4, 15, 30, 0, 0, time.UTC)
82+
actualTime, err := PrevTickBefore(cronExpr, now, true)
83+
84+
if err != nil {
85+
t.Errorf("got unexpected error: %s", err)
86+
} else if !actualTime.Equal(expectedTime) {
87+
t.Errorf("expected previous tick to be %v, got %v", expectedTime, actualTime)
88+
}
89+
}

0 commit comments

Comments
 (0)