fibers-domain
Version:
run in sequence, avoid callback-hell
57 lines (50 loc) • 1.22 kB
JavaScript
/*eslint-env mocha*/
/*eslint-disable strict*/
var assert = require('assert');
describe('fibers-domain', function(){
it('should not run in sequence', function(done){
var r = '';
var fd = require('../index.js');
fd.sync(function(){
var domain = process.domain;
setTimeout(function(){
r = '1';
domain.resume();
}, 100);
domain.wait();
});
assert.equal(r, '');
done();
});
it('should run in sequence on async', function(done){
var r = '';
var fd = require('../index.js');
fd.sync(function(){
var domain = process.domain;
setTimeout(function(){
r = '1';
domain.resume();
}, 100);
domain.wait();
assert.equal(r, '1');
done();
});
});
it('should run on sync callback', function(done){
var r = '';
function syncWithCallback(cb){
cb();
}
var fd = require('../index.js');
fd.sync(function(){
var domain = process.domain;
syncWithCallback(function(){
r = '1';
domain.resume();
});
domain.wait();
assert.equal(r, '1');
done();
});
});
});