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