| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- '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();
- });
- });
- });
|