stream-transform
Version:
Object transformations implementing the Node.js `stream.Transform` API
43 lines (35 loc) • 1.21 kB
text/coffeescript
should = require 'should'
generate = require 'csv-generate'
transform = if process.env.CSV_COV then require '../lib-cov' else require '../src'
describe 'pipe', ->
describe 'pass rows after inversing columns', ->
it 'in sync mode', (next) ->
data = []
generator = generate length: 1000, objectMode: true, seed: 1, headers: 2
transformer = generator.pipe transform (row) ->
row.push row.shift()
row
transformer.on 'readable', ->
while(d = transformer.read())
data.push d
transformer.on 'finish', ->
data.slice(0,2).should.eql [
[ 'ONKCHhJmjadoA', 'OMH' ]
[ 'GeACHiN', 'D' ]
]
next()
it 'in async mode', (next) ->
data = []
generator = generate length: 1000, objectMode: true, seed: 1, headers: 2
transformer = generator.pipe transform (row, callback) ->
row.push row.shift()
callback null, row
transformer.on 'readable', ->
while(d = transformer.read())
data.push d
transformer.on 'finish', ->
data.slice(0,2).should.eql [
[ 'ONKCHhJmjadoA', 'OMH' ]
[ 'GeACHiN', 'D' ]
]
next()