Emit 'row' events on streams for progress tracking
This commit is contained in:
+7
-2
@@ -15,17 +15,22 @@ var testRange = function(top) {
|
||||
var fromClient = client()
|
||||
var copy = require('../').to
|
||||
|
||||
var txt = 'COPY (SELECT * from generate_series(0, ' + top + ')) TO STDOUT'
|
||||
var txt = 'COPY (SELECT * from generate_series(0, ' + (top - 1) + ')) TO STDOUT'
|
||||
|
||||
var stream = fromClient.query(copy(txt))
|
||||
var rowEmitCount = 0
|
||||
stream.on('row', function() {
|
||||
rowEmitCount++
|
||||
})
|
||||
var done = gonna('finish piping out', 1000, function() {
|
||||
fromClient.end()
|
||||
})
|
||||
|
||||
stream.pipe(concat(function(buf) {
|
||||
var res = buf.toString('utf8')
|
||||
var expected = _.range(0, top+1).join('\n') + '\n'
|
||||
var expected = _.range(0, top).join('\n') + '\n'
|
||||
assert.equal(res, expected)
|
||||
assert.equal(rowEmitCount, top, 'should have emitted "row" ' + top + ' times but got ' + rowEmitCount)
|
||||
done()
|
||||
}))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user