mirror of https://github.com/jkjoy/sunpeiwen.git
48 lines
1.1 KiB
JavaScript
48 lines
1.1 KiB
JavaScript
|
|
||
|
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)
|