1 | var parallel = require('../')
|
2 | var test = require('tape')
|
3 |
|
4 | test('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 |
|
25 | test('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 |
|
46 | test('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 |
|
68 | test('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 | })
|