| 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() |
| } |