HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
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: /var/www/elite/node_modules/event-emitter/test/index.js
'use strict';

module.exports = function (t, a) {
	var x = t(), y, count, count2, count3, count4, test, listener1, listener2;

	x.emit('none');

	test = "Once: ";
	count = 0;
	x.once('foo', function (a1, a2, a3) {
		a(this, x, test + "Context");
		a.deep([a1, a2, a3], ['foo', x, 15], test + "Arguments");
		++count;
	});

	x.emit('foobar');
	a(count, 0, test + "Not invoked on other event");
	x.emit('foo', 'foo', x, 15);
	a(count, 1, test + "Emitted");
	x.emit('foo');
	a(count, 1, test + "Emitted once");

	test = "On & Once: ";
	count = 0;
	x.on('foo', listener1 = function (a1, a2, a3) {
		a(this, x, test + "Context");
		a.deep([a1, a2, a3], ['foo', x, 15], test + "Arguments");
		++count;
	});
	count2 = 0;
	x.once('foo', listener2 = function (a1, a2, a3) {
		a(this, x, test + "Context");
		a.deep([a1, a2, a3], ['foo', x, 15], test + "Arguments");
		++count2;
	});

	x.emit('foobar');
	a(count, 0, test + "Not invoked on other event");
	x.emit('foo', 'foo', x, 15);
	a(count, 1, test + "Emitted");
	x.emit('foo', 'foo', x, 15);
	a(count, 2, test + "Emitted twice");
	a(count2, 1, test + "Emitted once");
	x.off('foo', listener1);
	x.emit('foo');
	a(count, 2, test + "Not emitter after off");

	count = 0;
	x.once('foo', listener1 = function () { ++count; });

	x.off('foo', listener1);
	x.emit('foo');
	a(count, 0, "Once Off: Not emitted");

	count = 0;
	x.on('foo', listener2 = function () {});
	x.once('foo', listener1 = function () { ++count; });

	x.off('foo', listener1);
	x.emit('foo');
	a(count, 0, "Once Off (multi): Not emitted");
	x.off('foo', listener2);

	test = "Prototype Share: ";

	y = Object.create(x);

	count = 0;
	count2 = 0;
	count3 = 0;
	count4 = 0;
	x.on('foo', function () {
		++count;
	});
	y.on('foo', function () {
		++count2;
	});
	x.once('foo', function () {
		++count3;
	});
	y.once('foo', function () {
		++count4;
	});
	x.emit('foo');
	a(count, 1, test + "x on count");
	a(count2, 0, test + "y on count");
	a(count3, 1, test + "x once count");
	a(count4, 0, test + "y once count");

	y.emit('foo');
	a(count, 1, test + "x on count");
	a(count2, 1, test + "y on count");
	a(count3, 1, test + "x once count");
	a(count4, 1, test + "y once count");

	x.emit('foo');
	a(count, 2, test + "x on count");
	a(count2, 1, test + "y on count");
	a(count3, 1, test + "x once count");
	a(count4, 1, test + "y once count");

	y.emit('foo');
	a(count, 2, test + "x on count");
	a(count2, 2, test + "y on count");
	a(count3, 1, test + "x once count");
	a(count4, 1, test + "y once count");
};