Родитель
cd7a6bb4c1
Коммит
c7ff4161e3
|
@ -5,14 +5,13 @@
|
|||
"main": "./build/index.js",
|
||||
"typings": "./build/index.d.ts",
|
||||
"scripts": {
|
||||
"test": "tsc && ava --serial",
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"prepublish": "npm run lint && tsc",
|
||||
"lint": "tslint lib/**/*.ts"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"devDependencies": {
|
||||
"ava": "^0.14.0",
|
||||
"tslint": "^3.7.4",
|
||||
"typescript": "^1.8.10",
|
||||
"typings": "^0.7.12"
|
||||
|
|
|
@ -1,53 +0,0 @@
|
|||
import test from 'ava'
|
||||
|
||||
import ResourcePool from '../build/resource-pool'
|
||||
|
||||
let queue
|
||||
|
||||
test.beforeEach(() => {
|
||||
queue = new ResourcePool([{}])
|
||||
})
|
||||
|
||||
test('enqueue calls the enqueued function', async t => {
|
||||
let called = false
|
||||
await queue.enqueue(() => {
|
||||
called = true
|
||||
return Promise.resolve()
|
||||
})
|
||||
t.true(called)
|
||||
})
|
||||
|
||||
test('enqueue forwards values from the inner promise', async t => {
|
||||
const result = await queue.enqueue(() => Promise.resolve(42))
|
||||
t.is(result, 42)
|
||||
})
|
||||
|
||||
test('enqueue forwards errors from the inner promise', async t => {
|
||||
let threw = false
|
||||
try {
|
||||
await queue.enqueue(() => Promise.reject(new Error('down with the sickness')))
|
||||
} catch (e) {
|
||||
threw = true
|
||||
}
|
||||
t.true(threw)
|
||||
})
|
||||
|
||||
test('enqueue continues to dequeue work after a promise has been rejected', async t => {
|
||||
try {
|
||||
await queue.enqueue(() => Promise.reject(new Error('down with the sickness')))
|
||||
} catch (e) {}
|
||||
|
||||
const result = await queue.enqueue(() => Promise.resolve(42))
|
||||
t.is(result, 42)
|
||||
})
|
||||
|
||||
test('enqueue queues up work', async t => {
|
||||
queue.enqueue(() => new Promise((resolve, reject) => {}))
|
||||
t.is(queue.getQueueDepth(), 0)
|
||||
|
||||
queue.enqueue(() => new Promise((resolve, reject) => {}))
|
||||
t.is(queue.getQueueDepth(), 1)
|
||||
|
||||
queue.enqueue(() => new Promise((resolve, reject) => {}))
|
||||
t.is(queue.getQueueDepth(), 2)
|
||||
})
|
|
@ -12,7 +12,6 @@
|
|||
"node_modules",
|
||||
"build",
|
||||
"typings/main",
|
||||
"typings/main.d.ts",
|
||||
"test"
|
||||
"typings/main.d.ts"
|
||||
]
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче