|
|
- var JSONStream = require('../')
- , stream = require('stream')
- , it = require('it-is')
-
- var output = [ [], [] ]
-
- var parser1 = JSONStream.parse(['docs', /./])
- parser1.on('data', function(data) {
- output[0].push(data)
- })
-
- var parser2 = JSONStream.parse(['docs', /./])
- parser2.on('data', function(data) {
- output[1].push(data)
- })
-
- var pending = 2
- function onend () {
- if (--pending > 0) return
- it(output).deepEqual([
- [], [{hello: 'world'}]
- ])
- console.error('PASSED')
- }
- parser1.on('end', onend)
- parser2.on('end', onend)
-
- function makeReadableStream() {
- var readStream = new stream.Stream()
- readStream.readable = true
- readStream.write = function (data) { this.emit('data', data) }
- readStream.end = function (data) { this.emit('end') }
- return readStream
- }
-
- var emptyArray = makeReadableStream()
- emptyArray.pipe(parser1)
- emptyArray.write('{"docs":[]}')
- emptyArray.end()
-
- var objectArray = makeReadableStream()
- objectArray.pipe(parser2)
- objectArray.write('{"docs":[{"hello":"world"}]}')
- objectArray.end()
|