prev_date.js 928 Bytes
var test = require('tap').test;
var CronExpression = require('../lib/expression');

test('prev should match correctly (issue #98) when milliseconds are greater than 0', function(t) {
  var options = {
    currentDate: new Date('2017-06-13T18:21:25.002Z')
  };

  var interval = CronExpression.parse('*/5 * * * * *', options);
  var prev = interval.prev();
  t.equal(prev.getSeconds(), 25);

  t.end();
});

test('prev should match correctly (issue #98) when milliseconds are equal to 0', function(t) {
  var interval = CronExpression.parse('59 59 23 * * *',{
    currentDate : new Date('2012-12-26 14:38:53')
  });

  [25, 24, 23, 22].forEach(function(date) {
    var prev = interval.prev();
    t.equal(prev.getFullYear(), 2012);
    t.equal(prev.getMonth(), 11);
    t.equal(prev.getDate(), date);
    t.equal(prev.getHours(), 23);
    t.equal(prev.getMinutes(), 59);
    t.equal(prev.getSeconds(), 59);
  });

  t.end();
});