Blame view

node_modules/JSONStream/test/empty.js 1023 Bytes
f7563de62   Palak Handa   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
  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()