HEX
Server: Apache
System: Linux webd004.cluster130.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User: frenchy (106757)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/frenchy/www/french-american.org/current/node_modules/vorpal/node_modules/run-async/test.js
'use strict';

var assert = require('assert');
var runAsync = require('./index');

describe('runAsync', function () {
  it('run synchronous method', function (done) {
    var aFunc = function () {
      return 'pass1';
    };
    runAsync(aFunc, function (val) {
      assert.equal(val, 'pass1');
      done();
    });
  });

  it('run asynchronous method', function (done) {
    var aFunc = function () {
      var returns = this.async();
      setTimeout(returns.bind(null, 'pass2'), 0);
    };

    runAsync(aFunc, function (val) {
      assert.equal(val, 'pass2');
      done();
    });
  });

  it('pass arguments', function (done) {
    var aFunc = function (a, b) {
      assert.equal(a, 1);
      assert.equal(b, 'bar');
      return 'pass1';
    };
    runAsync(aFunc, function (val) {
      done();
    }, 1, 'bar');
  });

  it('allow only callback once', function (done) {
    var aFunc = function () {
      var returns = this.async();
      returns();
      returns();
    };

    runAsync(aFunc, function (val) {
      done();
    });
  });
});