test.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. var assert = require('assert')
  2. var parallel = require('./')
  3. var a, b, c
  4. parallel([
  5. function (done) {
  6. setTimeout(function () {
  7. done(null, a = 0)
  8. }, 5)
  9. },
  10. function (done) {
  11. setTimeout(function () {
  12. done(null, b = 1)
  13. }, 10)
  14. },
  15. function (done) {
  16. setTimeout(function () {
  17. done(null, c = 2)
  18. }, 15)
  19. }
  20. ], function (err, results) {
  21. assert.equal(a, 0)
  22. assert.equal(b, 1)
  23. assert.equal(c, 2)
  24. assert.deepEqual(results, [0, 1, 2])
  25. })
  26. var d, e
  27. parallel([
  28. function (done) {
  29. setTimeout(function () {
  30. d = 1
  31. done(new Error('message'))
  32. }, 5)
  33. },
  34. function (done) {
  35. setTimeout(function () {
  36. e = 2
  37. done()
  38. }, 10)
  39. }
  40. ], function (err) {
  41. assert.equal(err.message, 'message')
  42. assert.equal(d, 1)
  43. assert.equal(e, undefined)
  44. })
  45. var context = 'hello'
  46. parallel([function (done) {
  47. assert.equal(this, context)
  48. }], context)
  49. var f
  50. parallel([function (done) {
  51. f = true
  52. done()
  53. }])
  54. process.nextTick(function () {
  55. assert.equal(f, true)
  56. })