UNPKG

qiniu-js

Version:

Javascript SDK for Qiniu Resource (Cloud) Storage AP

32 lines (29 loc) 738 B
import { Pool } from "../pool" import { ChunkInfo } from '../upload' const m = jest.fn() const task = (): Promise<void> => { return new Promise((resolve, _) => { m() resolve() }) } describe("test Pool for control concurrency", () => { var pool = new Pool<ChunkInfo>(task, 2) test("pool.js", () => { const chunk = new Blob() const data = [ { chunk, index: 0 }, { chunk, index: 1 }, { chunk, index: 2 }, { chunk, index: 3 }, { chunk, index: 4 }, { chunk, index: 5 } ] return Promise.all(data.map(value => { pool.enqueue(value) expect(pool.processing.length).toBeLessThanOrEqual(2) })).then(()=> { expect(m.mock.calls.length).toBe(6) }) }) })