52 lines
1.1 KiB
JavaScript
52 lines
1.1 KiB
JavaScript
var it = require('it-is').style('colour')
|
|
, split = require('..')
|
|
|
|
exports ['emit mapper exceptions as error events'] = function (test) {
|
|
var s = split(JSON.parse)
|
|
, caughtError = false
|
|
, rows = []
|
|
|
|
s.on('error', function (err) {
|
|
caughtError = true
|
|
})
|
|
|
|
s.on('data', function (row) { rows.push(row) })
|
|
|
|
s.write('{"a":1}\n{"')
|
|
it(caughtError).equal(false)
|
|
it(rows).deepEqual([ { a: 1 } ])
|
|
|
|
s.write('b":2}\n{"c":}\n')
|
|
it(caughtError).equal(true)
|
|
it(rows).deepEqual([ { a: 1 }, { b: 2 } ])
|
|
|
|
s.end()
|
|
test.done()
|
|
}
|
|
|
|
exports ['mapper error events on trailing chunks'] = function (test) {
|
|
var s = split(JSON.parse)
|
|
, caughtError = false
|
|
, rows = []
|
|
|
|
s.on('error', function (err) {
|
|
caughtError = true
|
|
})
|
|
|
|
s.on('data', function (row) { rows.push(row) })
|
|
|
|
s.write('{"a":1}\n{"')
|
|
it(caughtError).equal(false)
|
|
it(rows).deepEqual([ { a: 1 } ])
|
|
|
|
s.write('b":2}\n{"c":}')
|
|
it(caughtError).equal(false)
|
|
it(rows).deepEqual([ { a: 1 }, { b: 2 } ])
|
|
|
|
s.end()
|
|
it(caughtError).equal(true)
|
|
it(rows).deepEqual([ { a: 1 }, { b: 2 } ])
|
|
|
|
test.done()
|
|
}
|