UNPKG

1.28 kBJavaScriptView Raw
1var test = require('tape')
2var co = require('./common.js')
3var sleep = require('./sleep.js')
4var asyncMap = require('./map.js')
5
6test('sync map', async t => {
7 // sync one by one
8 let outs = await asyncMap([1, 2, 3, 4], 1, i => i * 2)
9
10 t.equal(outs[0], 2)
11 t.equal(outs[1], 4)
12 t.equal(outs[2], 6)
13 t.equal(outs[3], 8)
14
15 // sync two by two
16 outs = await asyncMap([1, 2, 3, 4], 2, i => i * 2)
17
18 t.equal(outs[0], 2)
19 t.equal(outs[1], 4)
20 t.equal(outs[2], 6)
21 t.equal(outs[3], 8)
22
23 // sync five by four
24 outs = await asyncMap([1, 2, 3, 4], 5, i => i * 2)
25
26 t.equal(outs[0], 2)
27 t.equal(outs[1], 4)
28 t.equal(outs[2], 6)
29 t.equal(outs[3], 8)
30
31 t.end()
32})
33
34test('sequence async map', async t => {
35 let outs = await asyncMap([1, 2, 3, 4], 1, async i => {
36 await sleep(10)
37 return i * 2
38 })
39
40 t.equal(outs[0], 2)
41 t.equal(outs[1], 4)
42 t.equal(outs[2], 6)
43 t.equal(outs[3], 8)
44
45 // sync two by two
46 outs = await asyncMap([1, 2, 3, 4], 2, async i => {
47 await sleep(10)
48 return i * 2
49 })
50
51 t.equal(outs[0], 2)
52 t.equal(outs[1], 4)
53 t.equal(outs[2], 6)
54 t.equal(outs[3], 8)
55
56 // sync five by four
57 outs = await asyncMap([1, 2, 3, 4], 5, async i => {
58 await sleep(10)
59 return i * 2
60 })
61
62 t.equal(outs[0], 2)
63 t.equal(outs[1], 4)
64 t.equal(outs[2], 6)
65 t.equal(outs[3], 8)
66
67 t.end()
68})