![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : 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, Directory : /proc/self/root/usr/local/lib/node_modules/browserify/node_modules/events/tests/ |
Upload File : |
'use strict'; var common = require('./common'); var EventEmitter = require('../').EventEmitter; var once = require('../').once; var assert = require('assert'); function onceAnEvent() { var ee = new EventEmitter(); process.nextTick(function () { ee.emit('myevent', 42); }); return once(ee, 'myevent').then(function (args) { var value = args[0] assert.strictEqual(value, 42); assert.strictEqual(ee.listenerCount('error'), 0); assert.strictEqual(ee.listenerCount('myevent'), 0); }); } function onceAnEventWithTwoArgs() { var ee = new EventEmitter(); process.nextTick(function () { ee.emit('myevent', 42, 24); }); return once(ee, 'myevent').then(function (value) { assert.strictEqual(value.length, 2); assert.strictEqual(value[0], 42); assert.strictEqual(value[1], 24); }); } function catchesErrors() { var ee = new EventEmitter(); var expected = new Error('kaboom'); var err; process.nextTick(function () { ee.emit('error', expected); }); return once(ee, 'myevent').then(function () { throw new Error('should reject') }, function (err) { assert.strictEqual(err, expected); assert.strictEqual(ee.listenerCount('error'), 0); assert.strictEqual(ee.listenerCount('myevent'), 0); }); } function stopListeningAfterCatchingError() { var ee = new EventEmitter(); var expected = new Error('kaboom'); var err; process.nextTick(function () { ee.emit('error', expected); ee.emit('myevent', 42, 24); }); // process.on('multipleResolves', common.mustNotCall()); return once(ee, 'myevent').then(common.mustNotCall, function (err) { // process.removeAllListeners('multipleResolves'); assert.strictEqual(err, expected); assert.strictEqual(ee.listenerCount('error'), 0); assert.strictEqual(ee.listenerCount('myevent'), 0); }); } function onceError() { var ee = new EventEmitter(); var expected = new Error('kaboom'); process.nextTick(function () { ee.emit('error', expected); }); return once(ee, 'error').then(function (args) { var err = args[0] assert.strictEqual(err, expected); assert.strictEqual(ee.listenerCount('error'), 0); assert.strictEqual(ee.listenerCount('myevent'), 0); }); } Promise.all([ onceAnEvent(), onceAnEventWithTwoArgs(), catchesErrors(), stopListeningAfterCatchingError(), onceError() ]).catch(function (err) { console.error(err.stack) process.exit(1) });