modern-async
Version:
A modern tooling library for asynchronous operations using async/await, promises and async generators
25 lines (21 loc) • 619 B
JavaScript
import { expect, test } from '@jest/globals'
import asyncTimeout from './asyncTimeout.mjs'
import asyncSleepPrecise from './asyncSleepPrecise.mjs'
import TimeoutError from './TimeoutError.mjs'
test('asyncTimeout no timeout', async () => {
const result = await asyncTimeout(async () => {
await asyncSleepPrecise(10)
return 'test'
}, 150)
expect(result).toBe('test')
})
test('asyncTimeout with timeout', async () => {
try {
await asyncTimeout(async () => {
await asyncSleepPrecise(150)
}, 10)
expect(false).toBe(true)
} catch (e) {
expect(e).toBeInstanceOf(TimeoutError)
}
})