breejs / later

*Maintained fork of Later.* A javascript library for defining recurring schedules and calculating future (or past) occurrences for them. Includes support for using English phrases and Cron schedules. Works in Node and in the browser.
https://breejs.github.io/later/
MIT License
134 stars 13 forks source link

[fix] later.schedule().isValid returns true even when the passed schedule is not. #24

Open mat813 opened 2 years ago

mat813 commented 2 years ago

Describe the bug

When later.parse.text has errors, passing its result to later.schedule gives valid schedule

Actual behavior

If I give an invalid text string to later.parse.text, say, at 20h, the result has errors but when passed to later.schedule, it generates something that is correct, but never runs. It breaks Bree, which runs (in src/job-utils.js):

    const schedule = later.schedule(later.parse.text(value));
    if (schedule.isValid()) return later.parse.text(value);

Expected behavior

I expect isValid to return false when the schedule is not valid.

Code to reproduce

> later.parse.text('at 20h').error
3
> later.schedule(later.parse.text('at 20h')).isValid()
true

Checklist