| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 'use strict';
- require('es6-shim');
- var chai = require('chai');
- var chaiAsPromised = require('chai-as-promised');
- var reInterval = require('../index.js');
- describe('reInterval', function() {
- it('should work as an usual setInterval', function () {
- return new Promise(function (resolve, reject) {
- var startTime = new Date().getTime();
- reInterval(function () {
- if (Math.abs(new Date().getTime() - startTime - 1000) <= 10)
- resolve();
- else
- reject(new Error('Took too much (or not enough) time'));
- }, 1000);
- });
- });
- it('should be able to clear an Interval', function () {
- return new Promise(function (resolve, reject) {
- var startTime = new Date().getTime();
- var interval = reInterval(function () {
- reject(new Error('Interval not cleared'));
- }, 200);
- setTimeout(interval.clear, 100);
- setTimeout(resolve, 300);
- });
- });
- it('should be able to reschedule an Interval', function () {
- return new Promise(function (resolve, reject) {
- var startTime = new Date().getTime();
- var interval = reInterval(function () {
- if (Math.abs(new Date().getTime() - startTime - 800) <= 10)
- resolve();
- else
- reject(new Error('Took too much (or not enough) time'));
- }, 500);
- setTimeout(interval.reschedule, 300, [500])
- });
- });
- });
|