summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/JSONStream/test/multiple_objects.js
blob: 22f6324228e54d9a88de61bfc9b7c7fbc51d4c3d (plain)
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
var fs = require ('fs');
var net = require('net');
var join = require('path').join;
var file = join(__dirname, 'fixtures','all_npm.json');
var it = require('it-is');
var JSONStream = require('../');

var str = fs.readFileSync(file);

var datas = {}

var server = net.createServer(function(client) {
    var data_calls = 0;
    var parser = JSONStream.parse(['rows', true, 'key']);
    parser.on('data', function(data) {
        ++ data_calls;
        datas[data] = (datas[data] || 0) + 1
        it(data).typeof('string')
    });

    parser.on('end', function() {
        console.log('END')
        var min = Infinity
        for (var d in datas)
          min = min > datas[d] ? datas[d] : min
        it(min).equal(3);
        server.close();
    });
    client.pipe(parser);
});
server.listen(9999);

var client = net.connect({ port : 9999 }, function() {
    var msgs = str + ' ' + str + '\n\n' + str
    client.end(msgs);
});