You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
1.7 KiB
86 lines
1.7 KiB
var es = require('../') |
|
, it = require('it-is').style('colour') |
|
, d = require('ubelt') |
|
|
|
function makeExamplePipe() { |
|
|
|
return es.connect( |
|
es.map(function (data, callback) { |
|
callback(null, data * 2) |
|
}), |
|
es.map(function (data, callback) { |
|
d.delay(callback)(null, data) |
|
}), |
|
es.map(function (data, callback) { |
|
callback(null, data + 2) |
|
})) |
|
} |
|
|
|
exports['simple pipe'] = function (test) { |
|
|
|
var pipe = makeExamplePipe() |
|
|
|
pipe.on('data', function (data) { |
|
it(data).equal(18) |
|
test.done() |
|
}) |
|
|
|
pipe.write(8) |
|
|
|
} |
|
|
|
exports['read array then map'] = function (test) { |
|
|
|
var readThis = d.map(3, 6, 100, d.id) //array of multiples of 3 < 100 |
|
, first = es.readArray(readThis) |
|
, read = [] |
|
, pipe = |
|
es.connect( |
|
first, |
|
es.map(function (data, callback) { |
|
callback(null, {data: data}) |
|
}), |
|
es.map(function (data, callback) { |
|
callback(null, {data: data}) |
|
}), |
|
es.writeArray(function (err, array) { |
|
it(array).deepEqual(d.map(readThis, function (data) { |
|
return {data: {data: data}} |
|
})) |
|
test.done() |
|
}) |
|
) |
|
} |
|
|
|
exports ['connect returns a stream'] = function (test) { |
|
|
|
var rw = |
|
es.connect( |
|
es.map(function (data, callback) { |
|
callback(null, data * 2) |
|
}), |
|
es.map(function (data, callback) { |
|
callback(null, data * 5) |
|
}) |
|
) |
|
|
|
it(rw).has({readable: true, writable: true}) |
|
|
|
var array = [190, 24, 6, 7, 40, 57, 4, 6] |
|
, _array = [] |
|
, c = |
|
es.connect( |
|
es.readArray(array), |
|
rw, |
|
es.log('after rw:'), |
|
es.writeArray(function (err, _array) { |
|
it(_array).deepEqual(array.map(function (e) { return e * 10 })) |
|
test.done() |
|
}) |
|
) |
|
|
|
} |
|
|
|
|
|
require('./helper')(module) |
|
|
|
|