Blame view

node_modules/JSONStream/test/stringify_object.js 1.1 KB
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
45
46
47
  
  var fs = require ('fs')
    , join = require('path').join
    , file = join(__dirname, 'fixtures','all_npm.json')
    , JSONStream = require('../')
    , it = require('it-is').style('colour')
    , es = require('event-stream')
    , pending = 10
    , passed = true
  
    function randomObj () {
      return (
        Math.random () < 0.4
        ? {hello: 'eonuhckmqjk',
            whatever: 236515,
            lies: true,
            nothing: [null],
            stuff: [Math.random(),Math.random(),Math.random()]
          } 
        : ['AOREC', 'reoubaor', {ouec: 62642}, [[[], {}, 53]]]
      )
    }
  
  for (var ix = 0; ix < pending; ix++) (function (count) {
    var expected =  {}
      , stringify = JSONStream.stringifyObject()
      
    es.connect(
      stringify,
      es.writeArray(function (err, lines) {
        it(JSON.parse(lines.join(''))).deepEqual(expected)
        if (--pending === 0) {
          console.error('PASSED')
        }
      })
    )
  
    while (count --) {
      var key = Math.random().toString(16).slice(2)
      expected[key] = randomObj()
      stringify.write([ key, expected[key] ])
    }
  
    process.nextTick(function () {
      stringify.end()
    })
  })(ix)