2023-10-03 11:14:36 +08:00
|
|
|
|
|
|
|
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)
|