Files
presta/node_modules/csv-writer/src/test/lang/promise.test.ts
T
2025-01-18 21:49:09 +01:00

22 lines
746 B
TypeScript

import {promisify} from '../../lib/lang/promise';
import {strictEqual} from 'assert';
import {assertRejected} from '../helper';
describe('Promise', () => {
const greetAsync = (name: string, callback: (err: Error | null, result?: string) => void) => {
setTimeout(() => {
if (name === 'foo') callback(null, `Hello, ${name}!`);
else callback(new Error(`We don't know ${name}`));
}, 0);
};
const promisifiedFn = promisify(greetAsync);
it('promisify node style callback', async () => {
strictEqual(await promisifiedFn('foo'), 'Hello, foo!');
});
it('raise an error for error', async () => {
await assertRejected(promisifiedFn('bar'), "We don't know bar");
});
});