1 | var test = require('tape')
|
2 | var Batch = require('./batch.js')
|
3 | var asyncMap = require('./map.js')
|
4 | var co = require('./common.js')
|
5 | var sleep = require('./sleep.js')
|
6 |
|
7 | test('window should execute', t => {
|
8 | let bat = new Batch(20, 200, async (is) => {
|
9 | let outs = await asyncMap(is, 2, async i => {
|
10 | await sleep(20)
|
11 | return i * 2
|
12 | })
|
13 | return outs
|
14 | })
|
15 |
|
16 | let outPromises = []
|
17 | for (var i = 0; i < 1000; i++) outPromises[i] = bat.push(i)
|
18 |
|
19 | let outs = await Promise.all(outPromises)
|
20 | for (var i = 0; i < 1000; i++) t.equal(outs[i], i * 2)
|
21 | t.end()
|
22 | })
|