Skip to content

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

Open
@mat813

Description

@mat813

Describe the bug

  • Later version: 4.1.0
  • Node.js version: v16.13.2
  • OS & version: Arch Linux updated yesterday

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

  • I have read the documentation.
  • I have tried my code with the latest version of Node.js and @breejs/later.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions