UNPKG

sfn-schedule-parser

Version:

A simple friendly Node.js tool for parsing schedule string patterns.

75 lines (63 loc) 2.12 kB
var assert = require("assert"); var format = require("./format").format; var parser = require("../dist/parser"); describe("parseDateString(pattern: string): DateTimeLike", function () { var pattern1 = "2018-08-01 8:*"; var expected1 = { year: 2018, month: 8, date: 1, hours: 8, minutes: "*", }; it("'" + pattern1 + "' should result in " + format(expected1), function () { assert.deepStrictEqual(parser.parseDateString(pattern1), expected1); }); var pattern2 = "2018-08-* *:30:10"; var expected2 = { year: 2018, month: 8, date: "*", hours: "*", minutes: 30, seconds: 10 }; it("'" + pattern2 + "' should result in " + format(expected2), function () { assert.deepStrictEqual(parser.parseDateString(pattern2), expected2); }); var pattern3 = "08-*-2018 *:*:*/10"; var expected3 = { year: 2018, month: 8, date: "*", hours: "*", minutes: "*", seconds: "*/10" }; it("'" + pattern3 + "' should result in " + format(expected3), function () { assert.deepStrictEqual(parser.parseDateString(pattern3), expected3); }); var pattern4 = "*:*:*/10 08-*-2018"; var expected4 = expected3; it("'" + pattern4 + "' should result in " + format(expected4), function () { assert.deepStrictEqual(parser.parseDateString(pattern4), expected4); }); var pattern5 = "Sun Jul 29 2018 *:00:00 GMT+0800"; var expected5 = { year: 2018, month: 7, day: 0, date: 29, hours: "*", minutes: 0, seconds: 0 }; it("'" + pattern5 + "' should result in " + format(expected5), function () { assert.deepStrictEqual(parser.parseDateString(pattern5), expected5); }); var pattern6 = "Sun. Jul. 29th 2018 *:00:00 GMT+0800"; var expected6 = expected5; it("'" + pattern6 + "' should result in " + format(expected6), function () { assert.deepStrictEqual(parser.parseDateString(pattern6), expected6); }); });