UNPKG

1.21 kBJavaScriptView Raw
1var parallel = require('../')
2var test = require('tape')
3
4test('functions run in parallel', function (t) {
5 t.plan(4)
6
7 var tasks = [
8 function (cb) {
9 t.pass('cb 1')
10 cb(null)
11 },
12 function (cb) {
13 t.pass('cb 2')
14 cb(null)
15 },
16 function (cb) {
17 t.pass('cb 3')
18 cb(null)
19 }
20 ]
21
22 parallel(tasks, function (err) {
23 t.error(err)
24 })
25})
26
27test('functions that return results', function (t) {
28 t.plan(4)
29
30 var tasks = [
31 function (cb) {
32 t.pass('cb 1')
33 cb(null, 1)
34 },
35 function (cb) {
36 t.pass('cb 2')
37 cb(null, 2)
38 }
39 ]
40
41 parallel(tasks, function (err, results) {
42 t.error(err)
43 t.deepEqual(results, [1, 2])
44 })
45})
46
47test('functions that return results preserve order', function (t) {
48 t.plan(4)
49
50 var tasks = [
51 function (cb) {
52 setTimeout(function () {
53 t.pass('cb 1')
54 cb(null, 1)
55 }, 200)
56 },
57 function (cb) {
58 setTimeout(function () {
59 t.pass('cb 2')
60 cb(null, 2)
61 }, 100)
62 }
63 ]
64
65 parallel(tasks, function (err, results) {
66 t.error(err)
67
68 // 2 should be second, even though it gets returned first
69 t.deepEqual(results, [1, 2])
70 })
71})