UNPKG

1.55 kBJavaScriptView Raw
1var parallel = require('../')
2var test = require('tape')
3
4test('functions that return errors (array)', function (t) {
5 t.plan(3)
6
7 var tasks = [
8 function (cb) {
9 t.pass('cb 1')
10 cb(new Error('oops'))
11 },
12 function (cb) {
13 setTimeout(function () {
14 t.pass('cb 2')
15 cb(null, 2)
16 }, 100)
17 }
18 ]
19
20 parallel(tasks, function (err) {
21 t.ok(err instanceof Error)
22 })
23})
24
25test('functions that return errors (object)', function (t) {
26 t.plan(3)
27
28 var tasks = {
29 one: function (cb) {
30 t.pass('cb 1')
31 cb(new Error('oops'))
32 },
33 two: function (cb) {
34 setTimeout(function () {
35 t.pass('cb 2')
36 cb(null, 2)
37 }, 100)
38 }
39 }
40
41 parallel(tasks, function (err) {
42 t.ok(err instanceof Error)
43 })
44})
45
46test('functions that return errors (object) w/ partial results', function (t) {
47 t.plan(4)
48
49 var tasks = {
50 one: function (cb) {
51 t.pass('cb 1')
52 cb(null, 1)
53 },
54 two: function (cb) {
55 setTimeout(function () {
56 t.pass('cb 2')
57 cb(new Error('oops'))
58 }, 100)
59 }
60 }
61
62 parallel(tasks, function (err, results) {
63 t.ok(err instanceof Error)
64 t.deepEqual(results, { one: 1, two: undefined })
65 })
66})
67
68test('array of functions that produce multiple errors', function (t) {
69 var tasks = [
70 function (cb) {
71 cb(new Error('a'))
72 },
73 function (cb) {
74 cb(new Error('b'))
75 }
76 ]
77 parallel(tasks, function (err) {
78 t.ok(err.message === 'a', 'only observes the first error')
79 t.end()
80 })
81})