12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- var fs = require ('fs')
- , join = require('path').join
- , file = join(__dirname, 'fixtures','header_footer.json')
- , JSONStream = require('../')
- , it = require('it-is')
- var expected = JSON.parse(fs.readFileSync(file))
- , parser = JSONStream.parse(['rows', /\d+/ /*, 'value'*/])
- , called = 0
- , headerCalled = 0
- , footerCalled = 0
- , ended = false
- , parsed = []
- fs.createReadStream(file).pipe(parser)
- parser.on('header', function (data) {
- headerCalled ++
- it(data).deepEqual({
- total_rows: 129,
- offset: 0
- })
- })
- parser.on('footer', function (data) {
- footerCalled ++
- it(data).deepEqual({
- foo: { bar: 'baz' }
- })
- })
- parser.on('data', function (data) {
- called ++
- it.has({
- id: it.typeof('string'),
- value: {rev: it.typeof('string')},
- key:it.typeof('string')
- })
- it(headerCalled).equal(1)
- parsed.push(data)
- })
- parser.on('end', function () {
- ended = true
- })
- process.on('exit', function () {
- it(called).equal(expected.rows.length)
- it(headerCalled).equal(1)
- it(footerCalled).equal(1)
- it(parsed).deepEqual(expected.rows)
- console.error('PASSED')
- })
|