HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-172-31-4-197 6.8.0-1036-aws #38~22.04.1-Ubuntu SMP Fri Aug 22 15:44:33 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //lib/node_modules/forever/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);
}