HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //var/dev/farhangmoaser/web/node_modules/array-series/test.js
var assert = require('assert')
var series = require('./')

var a, b, c

series([
  function (done) {
    a = 1
    process.nextTick(done)
    check('a')
  },
  function (done) {
    b = 2
    process.nextTick(done)
    check('b')
  },
  function (done) {
    c = 3
    process.nextTick(done)
    check('c')
  }
], function (err) {
  assert.ifError(err)
  assert.equal(a, 1)
  assert.equal(b, 2)
  assert.equal(c, 3)
})

function check(x) {
  switch (x) {
    case 'a':
      assert.equal(a, 1)
      assert.equal(b, undefined)
      assert.equal(c, undefined)
      break
    case 'b':
      assert.equal(a, 1)
      assert.equal(b, 2)
      assert.equal(c, undefined)
      break
    case 'c':
      assert.equal(a, 1)
      assert.equal(b, 2)
      assert.equal(c, 3)
      break
  }
}

var context = 'hello'
series([function (done) {
  assert.equal(this, context)
  done()
}], context)

var finished
series([], function (err) {
  finished = true
})

process.nextTick(function () {
  if (!finished)
    throw new Error('Failed with no functions.');
})

var r, d, o
series([
  function (done) {
    r = 1
    process.nextTick(done)
  },
  function (done) {
    d = 0
    process.nextTick(function () {
      done(new Error('message'))
    })
  },
  function (done) {
    o = 0
    process.nextTick(done)
  }
], function (err) {
  assert.equal(err.message, 'message')
  assert.equal(r, 1)
  assert.equal(d, 0)
  assert.equal(o, undefined)
})

console.log('Array series tests pass!')