| |
| |
| var fs = require ('fs') |
| , join = require('path').join |
| , file = join(__dirname, 'fixtures','all_npm.json') |
| , JSONStream = require('../') |
| , it = require('it-is') |
| |
| function fn (s) { |
| return !isNaN(parseInt(s, 10)) |
| } |
| |
| var expected = JSON.parse(fs.readFileSync(file)) |
| , parser = JSONStream.parse(['rows', fn]) |
| , called = 0 |
| , ended = false |
| , parsed = [] |
| |
| fs.createReadStream(file).pipe(parser) |
| |
| parser.on('data', function (data) { |
| called ++ |
| it.has({ |
| id: it.typeof('string'), |
| value: {rev: it.typeof('string')}, |
| key:it.typeof('string') |
| }) |
| parsed.push(data) |
| }) |
| |
| parser.on('end', function () { |
| ended = true |
| }) |
| |
| process.on('exit', function () { |
| it(called).equal(expected.rows.length) |
| it(parsed).deepEqual(expected.rows) |
| console.error('PASSED') |
| }) |