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
53 lines
1.4 KiB
JavaScript
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])
|
|
});
|
|
});
|
|
|
|
});
|