Home Manual Reference Source Test Repository

test/EventEmitterPerformances.test.js

const EventEmitter = require('events');
const assert = require('assert');

const N = 50;

class TestClass extends EventEmitter {
    constructor() {
        super();
        this.setMaxListeners(N);
    }

    publish() {
        this.emit('default');
        return true;
    }
}

describe('EventEmitterPerformances', () => {
    let testObject = new TestClass();

    for (let i = 0; i < N; i++) {
        testObject.on('default', () => { });
    }

    it('should calculate publish time for ' + N + ' subscriptions', () => {
        assert(testObject.publish() === true);
    });
});