securityos/node_modules/seq/test/seq_.js

150 lines
3.7 KiB
JavaScript

var Seq = require('seq');
var assert = require('assert');
exports.seq_ = function () {
var to = setTimeout(function () {
assert.fail('never got to the end of the chain');
}, 5000);
Seq(['xxx'])
.seq_('pow', function (next, x) {
assert.eql(next, this);
assert.eql(x, 'xxx');
next(null, 'yyy');
})
.seq(function (y) {
clearTimeout(to);
assert.eql(y, 'yyy');
assert.eql(this.vars.pow, 'yyy');
})
;
};
exports.par_ = function () {
var to = setTimeout(function () {
assert.fail('never got to the end of the chain');
}, 5000);
Seq()
.par_(function (next) {
assert.eql(next, this);
next(null, 111);
})
.par_(function (next) {
assert.eql(next, this);
next(null, 222);
})
.seq(function (x, y) {
clearTimeout(to);
assert.eql(x, 111);
assert.eql(y, 222);
})
;
};
exports.forEach_ = function () {
var to = setTimeout(function () {
assert.fail('never got to the end of the chain');
}, 5000);
var acc = [];
Seq([7,8,9])
.forEach_(function (next, x) {
assert.eql(next, this);
acc.push(x);
})
.seq(function () {
clearTimeout(to);
assert.eql(acc, [ 7, 8, 9 ]);
})
;
};
exports.seqEach_ = function () {
var to = setTimeout(function () {
assert.fail('never got to the end of the chain');
}, 5000);
var acc = [];
Seq([7,8,9])
.seqEach_(function (next, x) {
assert.eql(next, this);
acc.push(x);
setTimeout(function () {
next(null, x);
}, Math.random() * 10);
})
.seq(function () {
clearTimeout(to);
assert.eql(acc, [ 7, 8, 9 ]);
assert.eql(this.stack, [ 7, 8, 9 ]);
})
;
};
exports.parEach_ = function () {
var to = setTimeout(function () {
assert.fail('never got to the end of the chain');
}, 5000);
var acc = [];
Seq([7,8,9])
.parEach_(function (next, x) {
assert.eql(next, this);
acc.push(x);
setTimeout(function () {
next(null, x);
}, Math.random() * 10);
})
.seq(function () {
clearTimeout(to);
assert.eql(acc, [ 7, 8, 9 ]);
assert.eql(this.stack, [ 7, 8, 9 ]);
})
;
};
exports.seqMap_ = function () {
var to = setTimeout(function () {
assert.fail('never got to the end of the chain');
}, 5000);
var acc = [];
Seq([7,8,9])
.seqMap_(function (next, x) {
assert.eql(next, this);
acc.push(x);
setTimeout(function () {
next(null, x * 10);
}, Math.random() * 10);
})
.seq(function () {
clearTimeout(to);
assert.eql(acc, [ 7, 8, 9 ]);
assert.eql(this.stack, [ 70, 80, 90 ]);
})
;
};
exports.parMap_ = function () {
var to = setTimeout(function () {
assert.fail('never got to the end of the chain');
}, 5000);
var acc = [];
Seq([7,8,9])
.parMap_(function (next, x) {
assert.eql(next, this);
acc.push(x);
setTimeout(function () {
next(null, x * 10);
}, Math.random() * 10);
})
.seq(function () {
clearTimeout(to);
assert.eql(acc, [ 7, 8, 9 ]);
assert.eql(this.stack, [ 70, 80, 90 ]);
})
;
};