Files
lodash/test/defer.spec.ts
2023-09-16 14:47:50 -07:00

49 lines
1007 B
TypeScript

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