HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: //usr/lib/node_modules/pm2/node_modules/lazy/test/em.js
var assert = require('assert');
var Lazy = require('..');
var EventEmitter = require('events').EventEmitter;

function range(i, j) {
    var r = [];
    for (;i<j;i++) r.push(i);
    return r;
}

exports.em = function () {
    var em = new EventEmitter;
    var i = 0;
    var iv = setInterval(function () {
        em.emit('data', i++);
    }, 10);
    
    var caughtDone = 0;
    em.on('pipe', function () { caughtDone ++ });
    
    var joined = 0;
    Lazy(em).take(10).join(function (xs) {
        assert.deepEqual(xs, range(0, 10));
        clearInterval(iv);
        joined ++;
    });
    
    setTimeout(function () {
        assert.equal(joined, 1);
        assert.equal(caughtDone, 1);
    }, 500);
}