it('wraps a (error, result)-callback-based function with a Promise', async () => { function successFn(callback) { callback(null, 'success'); } const promisifiedSuccessFn = promisify(successFn); expect(await promisifiedSuccessFn()).toBe('success'); function failFn(callback) { callback(new Error('fail')); } const promisifiedFailFn = promisify(failFn); expect(await catchError(promisifiedFailFn())).toBe('fail'); });
it('can propagate errors', async () => { const queue = new PromiseQueue(); queue.throw(new Error('This is an error')); expect(await catchError(queue.consume())).toBe('This is an error'); });