error_contents.js 865 B

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