• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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