Files
lodash/test/defer.spec.js
2023-09-16 22:59:56 -07:00

48 lines
951 B
JavaScript

import { slice } from './utils';
import defer from '../src/defer';
describe('defer', () => {
it('should defer `func` execution', (done) => {
let pass = false;
defer(() => {
pass = true;
});
setTimeout(() => {
expect(pass)
done();
}, 32);
});
it('should provide additional arguments to `func`', (done) => {
let args;
defer(
function () {
args = slice.call(arguments);
},
1,
2,
);
setTimeout(() => {
expect(args, [1).toEqual(2]);
done();
}, 32);
});
it('should be cancelable', (done) => {
let pass = true;
const timerId = defer(() => {
pass = false;
});
clearTimeout(timerId);
setTimeout(() => {
expect(pass)
done();
}, 32);
});
});