import test from 'tape' import nlp from './_lib.js' const context = { today: '2019-02-02T03:40:00.000Z', timezone: false, } test('date-parse :', function (t) { const arr = [ ['june 5th 1999', '1999-06-05T00:00:00.000Z'], ['june 5th 1999', '1999-06-05T00:00:00.000Z'], ['january 1st 1644', '1644-01-01T00:00:00.000Z'], ['jan 1st 1644', '1644-01-01T00:00:00.000Z'], ['June 4th 1993', '1993-06-04T00:00:00.000Z'], ['March 1st 1987', '1987-03-01T00:00:00.000Z'], ['June 22nd 2014', '2014-06-22T00:00:00.000Z'], ['may 22nd 2014', '2014-05-22T00:00:00.000Z'], ['sep 22nd 2014', '2014-09-22T00:00:00.000Z'], ['apr 22nd 2014', '2014-04-22T00:00:00.000Z'], ['June 22nd 1997', '1997-06-22T00:00:00.000Z'], ['january 5th 1998', '1998-01-05T00:00:00.000Z'], ['3rd of March 1969', '1969-03-03T00:00:00.000Z'], ['2nd of April 1929', '1929-04-02T00:00:00.000Z'], ['2nd of jul 1929', '1929-07-02T00:00:00.000Z'], ['March 1969', '1969-03-01T00:00:00.000Z'], ['jan 1921', '1921-01-01T00:00:00.000Z'], ['March 18th', '2019-03-18T00:00:00.000Z'], ['August 28th', '2019-08-28T00:00:00.000Z'], ['18th of March', '2019-03-18T00:00:00.000Z'], ['27th of March', '2019-03-27T00:00:00.000Z'], ['february 10th', '2019-02-10T00:00:00.000Z'], ['february 28th', '2019-02-28T00:00:00.000Z'], ['first day of 2019', '2019-01-01T00:00:00.000Z'], ['last day of 2019', '2019-12-31T00:00:00.000Z'], ['7th hour of 2019', '2019-01-01T06:00:00.000Z'], ['7th day of 2019', '2019-01-07T00:00:00.000Z'], ['second quarter of 2019', '2019-04-01T00:00:00.000Z'], ['30th minute of 2019', '2019-01-01T00:30:00.000Z'], ['2019', '2019-01-01T00:00:00.000Z'], ['2028', '2028-01-01T00:00:00.000Z'], ['in 2028', '2028-01-01T00:00:00.000Z'], ['2nd month in 2028', '2028-02-01T00:00:00.000Z'], ['first day of march 2019', '2019-03-01T00:00:00.000Z'], ['5th day of march 2019', '2019-03-05T00:00:00.000Z'], ['5th day of q1 2002', '2002-01-05T00:00:00.000Z'], ['5th hour of March 3rd 2002', '2002-03-03T04:00:00.000Z'], ['last hour of March 2021', '2021-03-31T23:00:00.000Z'], ['may to august 1996', '1996-05-01T00:00:00.000Z'], ['half past 4', '2019-02-02T16:30:00.000Z'], ['20 past 2', '2019-02-02T14:20:00.000Z'], ['at 20 past', '2019-02-02T04:20:00.000Z'], ['at half past', '2019-02-02T04:30:00.000Z'], ['at quarter to', '2019-02-02T03:45:00.000Z'], ['at quarter after', '2019-02-02T04:15:00.000Z'], ['december 25th 2000', '2000-12-25T00:00:00.000Z'], ['dec 25 2000', '2000-12-25T00:00:00.000Z'], ['25th of december 2000', '2000-12-25T00:00:00.000Z'], ['1st of january 2000', '2000-01-01T00:00:00.000Z'], ['1 jan 2000', '2000-01-01T00:00:00.000Z'], ['01/15/2000', '2000-01-15T00:00:00.000Z'], ['15/01/2000', '2000-01-15T00:00:00.000Z'], ['2000-06-15', '2000-06-15T00:00:00.000Z'], ['june 15 2000', '2000-06-15T00:00:00.000Z'], ['june 15th, 2000', '2000-06-15T00:00:00.000Z'], ['15 june 2000', '2000-06-15T00:00:00.000Z'], ['february 2nd 2019', '2019-02-02T00:00:00.000Z'], ['feb 2 2019', '2019-02-02T00:00:00.000Z'], ['2nd february 2019', '2019-02-02T00:00:00.000Z'], ['march 3rd', '2019-03-03T00:00:00.000Z'], ['march 3', '2019-03-03T00:00:00.000Z'], ['3 march', '2019-03-03T00:00:00.000Z'], ['3rd march', '2019-03-03T00:00:00.000Z'], ['1st of february', '2019-02-01T00:00:00.000Z'], ['2nd of february', '2019-02-02T00:00:00.000Z'], ['february 1st', '2019-02-01T00:00:00.000Z'], ['february 2nd', '2019-02-02T00:00:00.000Z'], ['january 31st', '2020-01-31T00:00:00.000Z'], ['january 1st', '2020-01-01T00:00:00.000Z'], ['december 31st', '2019-12-31T00:00:00.000Z'], ['last day of february 2019', '2019-02-28T00:00:00.000Z'], ['first day of february 2019', '2019-02-01T00:00:00.000Z'], ['last day of february', '2019-02-28T00:00:00.000Z'], ['first day of february', '2019-02-01T00:00:00.000Z'], ['last day of march 2019', '2019-03-31T00:00:00.000Z'], ['first day of april 2019', '2019-04-01T00:00:00.000Z'], ['3rd day of 2019', '2019-01-03T00:00:00.000Z'], ['100th day of 2019', '2019-04-10T00:00:00.000Z'], ['365th day of 2019', '2019-12-31T00:00:00.000Z'], ['1st quarter of 2019', '2019-01-01T00:00:00.000Z'], ['third quarter of 2019', '2019-07-01T00:00:00.000Z'], ['q4 2019', '2019-10-01T00:00:00.000Z'], ['q1 2019', '2019-01-01T00:00:00.000Z'], ['first quarter 2019', '2019-01-01T00:00:00.000Z'], ['second quarter 2019', '2019-04-01T00:00:00.000Z'], ['fourth quarter 2019', '2019-10-01T00:00:00.000Z'], ['january 2019', '2019-01-01T00:00:00.000Z'], ['february 2019', '2019-02-01T00:00:00.000Z'], ['march 2019', '2019-03-01T00:00:00.000Z'], ['april 2019', '2019-04-01T00:00:00.000Z'], ['may 2019', '2019-05-01T00:00:00.000Z'], ['june 2019', '2019-06-01T00:00:00.000Z'], ['july 2019', '2019-07-01T00:00:00.000Z'], ['august 2019', '2019-08-01T00:00:00.000Z'], ['september 2019', '2019-09-01T00:00:00.000Z'], ['october 2019', '2019-10-01T00:00:00.000Z'], ['november 2019', '2019-11-01T00:00:00.000Z'], ['december 2019', '2019-12-01T00:00:00.000Z'], ['jan 2019', '2019-01-01T00:00:00.000Z'], ['feb 2019', '2019-02-01T00:00:00.000Z'], ['mar 2019', '2019-03-01T00:00:00.000Z'], ['apr 2019', '2019-04-01T00:00:00.000Z'], ['in 2019', '2019-01-01T00:00:00.000Z'], ['in 1990', '1990-01-01T00:00:00.000Z'], ['2005', '2005-01-01T00:00:00.000Z'], ['2nd month of 2019', '2019-02-01T00:00:00.000Z'], ['3rd month of 2019', '2019-03-01T00:00:00.000Z'], ['12th month of 2019', '2019-12-01T00:00:00.000Z'], ['6th month in 2020', '2020-06-01T00:00:00.000Z'], ['10th day of june 2019', '2019-06-10T00:00:00.000Z'], ['15th day of march 2019', '2019-03-15T00:00:00.000Z'], ['last day of march 2019', '2019-03-31T00:00:00.000Z'], ['first hour of 2019', '2019-01-01T00:00:00.000Z'], ['last hour of 2019', '2019-12-31T23:00:00.000Z'], ['first minute of 2019', '2019-01-01T00:01:00.000Z'], ['last minute of 2019', '2019-12-31T23:59:00.000Z'], ['5th hour of february 2nd 2019', '2019-02-02T04:00:00.000Z'], ['noon on february 2nd 2019', '2019-02-02T12:00:00.000Z'], ['midnight on february 2nd 2019', '2019-02-02T00:00:00.000Z'], ['january to march 2019', '2019-01-01T00:00:00.000Z'], ['march to may 2019', '2019-03-01T00:00:00.000Z'], ['june to august 2019', '2019-06-01T00:00:00.000Z'], ['september to november 2019', '2019-09-01T00:00:00.000Z'], ['jan to mar 2019', '2019-01-01T00:00:00.000Z'], ['feb to apr 2019', '2019-02-01T00:00:00.000Z'], ['today', '2019-02-02T00:00:00.000Z'], ['tomorrow', '2019-02-03T00:00:00.000Z'], ['yesterday', '2019-02-01T00:00:00.000Z'], ['next monday', '2019-02-04T00:00:00.000Z'], ['last monday', '2019-01-21T00:00:00.000Z'], ['this monday', '2019-02-04T00:00:00.000Z'], ['next friday', '2019-02-08T00:00:00.000Z'], ['last friday', '2019-01-25T00:00:00.000Z'], ['next week', '2019-02-04T00:00:00.000Z'], ['last week', '2019-01-21T00:00:00.000Z'], ['this week', '2019-01-28T00:00:00.000Z'], ['next month', '2019-03-01T00:00:00.000Z'], ['last month', '2019-01-01T00:00:00.000Z'], ['this month', '2019-02-01T00:00:00.000Z'], ['next year', '2020-01-01T00:00:00.000Z'], ['last year', '2018-01-01T00:00:00.000Z'], ['this year', '2019-01-01T00:00:00.000Z'], ['in 3 days', '2019-02-05T00:00:00.000Z'], ['in 2 weeks', '2019-02-16T00:00:00.000Z'], ['in 1 month', '2019-03-02T00:00:00.000Z'], ['in 1 year', '2020-02-02T00:00:00.000Z'], ['3 days ago', '2019-01-30T00:00:00.000Z'], ['2 weeks ago', '2019-01-19T00:00:00.000Z'], ['in a fortnight', '2019-02-16T00:00:00.000Z'], ['1 fortnight ago', '2019-01-19T00:00:00.000Z'], ['1 month ago', '2019-01-02T00:00:00.000Z'], ['1 year ago', '2018-02-02T00:00:00.000Z'], ['at 4pm', '2019-02-02T16:00:00.000Z'], ['at 4:30pm', '2019-02-02T16:30:00.000Z'], ['4pm', '2019-02-02T16:00:00.000Z'], ['4:30pm', '2019-02-02T16:30:00.000Z'], ['at noon', '2019-02-02T12:00:00.000Z'], ['at midnight', '2019-02-02T00:00:00.000Z'], ['noon', '2019-02-02T12:00:00.000Z'], ['midnight', '2019-02-02T00:00:00.000Z'], ['ten past 4', '2019-02-02T16:10:00.000Z'], ['quarter past 3', '2019-02-02T15:15:00.000Z'], ['half past 3', '2019-02-02T15:30:00.000Z'], ['quarter to 5', '2019-02-02T16:45:00.000Z'], ['at ten past 4', '2019-02-02T16:10:00.000Z'], ['at quarter past 3', '2019-02-02T15:15:00.000Z'], ['5 past 4', '2019-02-02T16:05:00.000Z'], ['february 2nd at 4pm', '2019-02-02T16:00:00.000Z'], ['feb 2 at 4:30pm', '2019-02-02T16:30:00.000Z'], ['march 18th at 9am', '2019-03-18T09:00:00.000Z'], ['march 18th at noon', '2019-03-18T12:00:00.000Z'], ['the 18th of march', '2019-03-18T00:00:00.000Z'], ['the first of january 2020', '2020-01-01T00:00:00.000Z'], ['end of 2019', '2019-12-31T23:59:59.999Z'], ['beginning of 2019', '2019-01-01T00:00:00.000Z'], ['start of 2019', '2019-01-01T00:00:00.000Z'], ['middle of february 2019', '2019-02-15T00:00:00.000Z'], ['mid february 2019', '2019-02-01T00:00:00.000Z'], ['spring 2019', '2019-03-01T00:00:00.000Z'], ['summer 2019', '2019-06-01T00:00:00.000Z'], ['fall 2019', '2019-09-01T00:00:00.000Z'], ['winter 2019', '2019-12-01T00:00:00.000Z'], ['spring of 2019', '2019-03-01T00:00:00.000Z'], ['christmas 2019', '2019-12-25T00:00:00.000Z'], ['christmas 2000', '2000-12-25T00:00:00.000Z'], ['easter 2019', '2019-04-21T00:00:00.000Z'], ['thanksgiving 2019', '2019-11-28T00:00:00.000Z'], ['monday', '2019-02-04T00:00:00.000Z'], ['tuesday', '2019-02-05T00:00:00.000Z'], ['wednesday', '2019-02-06T00:00:00.000Z'], ['thursday', '2019-02-07T00:00:00.000Z'], ['friday', '2019-02-08T00:00:00.000Z'], ['saturday', '2019-02-02T00:00:00.000Z'], ['sunday', '2019-02-03T00:00:00.000Z'], ['monday february 4th', '2019-02-04T00:00:00.000Z'], ['february 4th monday', '2019-02-04T00:00:00.000Z'], ['2019-02-02', '2019-02-02T00:00:00.000Z'], ['02/02/2019', '2019-02-02T00:00:00.000Z'], ['2/2/2019', '2019-02-02T00:00:00.000Z'], ['february 2', '2019-02-02T00:00:00.000Z'], ['2 february 2019', '2019-02-02T00:00:00.000Z'], ['5th hour of 2020', '2020-01-01T04:00:00.000Z'], ['10th day of 2020', '2020-01-10T00:00:00.000Z'], ['last day of q1 2019', '2019-03-31T00:00:00.000Z'], ['first day of q2 2019', '2019-04-01T00:00:00.000Z'], ['5th day of q2 2019', '2019-04-05T00:00:00.000Z'], ['last hour of february 2019', '2019-02-28T23:00:00.000Z'], ['first hour of march 2019', '2019-03-01T00:00:00.000Z'], ['august 1st 2019', '2019-08-01T00:00:00.000Z'], ['sept 1 2019', '2019-09-01T00:00:00.000Z'], ['oct 31 2019', '2019-10-31T00:00:00.000Z'], ['nov 30th 2019', '2019-11-30T00:00:00.000Z'], ['dec 1 2019', '2019-12-01T00:00:00.000Z'], ['july 4th 1776', '1776-07-04T00:00:00.000Z'], ['july 4 1776', '1776-07-04T00:00:00.000Z'], ['4th of july 1776', '1776-07-04T00:00:00.000Z'], ['4 july 1776', '1776-07-04T00:00:00.000Z'], // ['august to may 1996', '1996-05-01T00:00:00.000Z'], ] arr.forEach(function (a) { const json = nlp(a[0]).dates(context).json()[0] || {} t.equal(json.dates.start, a[1], a[0]) }) t.end() })