adds failing test

- appears that timestamp queries emit a lot of `rows` with length == 0
- `self.once('end')` is added each of these times
- assertion on listener count shows that more than 10 listeners are applied
This commit is contained in:
Tom Buchok 2014-04-09 23:56:21 -04:00
parent 0f13c8068f
commit 87b52f9e51

View File

@ -0,0 +1,29 @@
var pg = require('pg.js')
var QueryStream = require('../')
var spec = require('stream-spec')
var assert = require('assert')
require('./helper')(function(client) {
it('should not warn about max listeners', function(done) {
var sql = 'SELECT * FROM generate_series(\'1983-12-30 00:00\'::timestamp, \'2013-12-30 00:00\', \'1 years\')'
var result = []
var stream = new QueryStream(sql, [])
var ended = false
var query = client.query(stream)
query.
on('end', function() { ended = true })
spec(query)
.readable()
.pausable({strict: true})
.validateOnExit()
;
var checkListeners = function() {
assert(stream.listeners('end').length < 10)
if (!ended)
setImmediate(checkListeners)
else
done()
}
checkListeners()
})
})