1
0
forked from dyf/APP
Files
APP/node_modules/reinterval/tests/test.js
liubiao 70651b81f5 revert e5e2aca0c4
revert Merge branch 'main' of http://47.107.152.87:3000/liubiao/APP

# Conflicts:
#	.gitignore
#	pages/common/index/index.vue
#	unpackage/dist/dev/app-plus/app-config-service.js
#	unpackage/dist/dev/app-plus/app-service.js
#	unpackage/dist/dev/app-plus/app-view.js
#	unpackage/dist/dev/app-plus/manifest.json
#	utils/request.js
2025-07-31 10:59:29 +08:00

53 lines
1.4 KiB
JavaScript

'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])
});
});
});