1 2 3var fs = require ('fs') 4 , join = require('path').join 5 , file = join(__dirname, 'fixtures','error.json') 6 , JSONStream = require('../') 7 , it = require('it-is') 8 9var expected = JSON.parse(fs.readFileSync(file)) 10 , parser = JSONStream.parse(['rows']) 11 , called = 0 12 , headerCalled = 0 13 , footerCalled = 0 14 , ended = false 15 , parsed = [] 16 17fs.createReadStream(file).pipe(parser) 18 19parser.on('header', function (data) { 20 headerCalled ++ 21 it(data).deepEqual({ 22 error: 'error_code', 23 message: 'this is an error message' 24 }) 25}) 26 27parser.on('footer', function (data) { 28 footerCalled ++ 29}) 30 31parser.on('data', function (data) { 32 called ++ 33 parsed.push(data) 34}) 35 36parser.on('end', function () { 37 ended = true 38}) 39 40process.on('exit', function () { 41 it(called).equal(0) 42 it(headerCalled).equal(1) 43 it(footerCalled).equal(0) 44 console.error('PASSED') 45}) 46