summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Estrada <edsadr@gmail.com>2020-04-11 13:10:10 -0500
committerRuben Bridgewater <ruben@bridgewater.de>2020-04-28 13:58:22 +0200
commit4169bc4d1705d8cd178346ace991f667f604e418 (patch)
treecd747183ffe88459c20327ccc455477dc9b8025a
parent2c364d469b1411c5dca5e3ab49393e2d42c52cc6 (diff)
downloadnode-new-4169bc4d1705d8cd178346ace991f667f604e418.tar.gz
test: refactor events tests for invalid listeners
PR-URL: https://github.com/nodejs/node/pull/32769 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
-rw-r--r--test/parallel/test-event-emitter-add-listeners.js11
-rw-r--r--test/parallel/test-event-emitter-invalid-listener.js20
-rw-r--r--test/parallel/test-event-emitter-once.js11
-rw-r--r--test/parallel/test-event-emitter-prepend.js11
-rw-r--r--test/parallel/test-event-emitter-remove-listeners.js11
5 files changed, 20 insertions, 44 deletions
diff --git a/test/parallel/test-event-emitter-add-listeners.js b/test/parallel/test-event-emitter-add-listeners.js
index 4b0305c176..f42d1f2487 100644
--- a/test/parallel/test-event-emitter-add-listeners.js
+++ b/test/parallel/test-event-emitter-add-listeners.js
@@ -84,14 +84,3 @@ const EventEmitter = require('events');
// listeners were added.
assert.deepStrictEqual(ee.listeners('hello'), [listen2, listen1]);
}
-
-// Verify that the listener must be a function
-assert.throws(() => {
- const ee = new EventEmitter();
- ee.on('foo', null);
-}, {
- code: 'ERR_INVALID_ARG_TYPE',
- name: 'TypeError',
- message: 'The "listener" argument must be of type function. ' +
- 'Received null'
-});
diff --git a/test/parallel/test-event-emitter-invalid-listener.js b/test/parallel/test-event-emitter-invalid-listener.js
new file mode 100644
index 0000000000..3070d4ed75
--- /dev/null
+++ b/test/parallel/test-event-emitter-invalid-listener.js
@@ -0,0 +1,20 @@
+'use strict';
+
+require('../common');
+const assert = require('assert');
+const EventEmitter = require('events');
+
+const eventsMethods = ['on', 'once', 'removeListener', 'prependOnceListener'];
+
+// Verify that the listener must be a function for events methods
+for (const method of eventsMethods) {
+ assert.throws(() => {
+ const ee = new EventEmitter();
+ ee[method]('foo', null);
+ }, {
+ code: 'ERR_INVALID_ARG_TYPE',
+ name: 'TypeError',
+ message: 'The "listener" argument must be of type function. ' +
+ 'Received null'
+ }, `event.${method}('foo', null) should throw the proper error`);
+}
diff --git a/test/parallel/test-event-emitter-once.js b/test/parallel/test-event-emitter-once.js
index 1ad2de1da5..983f6141b9 100644
--- a/test/parallel/test-event-emitter-once.js
+++ b/test/parallel/test-event-emitter-once.js
@@ -49,17 +49,6 @@ e.once('e', common.mustCall());
e.emit('e');
-// Verify that the listener must be a function
-assert.throws(() => {
- const ee = new EventEmitter();
- ee.once('foo', null);
-}, {
- code: 'ERR_INVALID_ARG_TYPE',
- name: 'TypeError',
- message: 'The "listener" argument must be of type function. ' +
- 'Received null'
-});
-
{
// once() has different code paths based on the number of arguments being
// emitted. Verify that all of the cases are covered.
diff --git a/test/parallel/test-event-emitter-prepend.js b/test/parallel/test-event-emitter-prepend.js
index c65b6b8f78..ffe8544911 100644
--- a/test/parallel/test-event-emitter-prepend.js
+++ b/test/parallel/test-event-emitter-prepend.js
@@ -18,17 +18,6 @@ myEE.prependOnceListener('foo',
myEE.emit('foo');
-// Verify that the listener must be a function
-assert.throws(() => {
- const ee = new EventEmitter();
- ee.prependOnceListener('foo', null);
-}, {
- code: 'ERR_INVALID_ARG_TYPE',
- name: 'TypeError',
- message: 'The "listener" argument must be of type function. ' +
- 'Received null'
-});
-
// Test fallback if prependListener is undefined.
const stream = require('stream');
diff --git a/test/parallel/test-event-emitter-remove-listeners.js b/test/parallel/test-event-emitter-remove-listeners.js
index 91e1f07104..f37d26eb25 100644
--- a/test/parallel/test-event-emitter-remove-listeners.js
+++ b/test/parallel/test-event-emitter-remove-listeners.js
@@ -144,17 +144,6 @@ function listener2() {}
assert.deepStrictEqual(ee, ee.removeListener('foo', () => {}));
}
-// Verify that the removed listener must be a function
-assert.throws(() => {
- const ee = new EventEmitter();
- ee.removeListener('foo', null);
-}, {
- code: 'ERR_INVALID_ARG_TYPE',
- name: 'TypeError',
- message: 'The "listener" argument must be of type function. ' +
- 'Received null'
-});
-
{
const ee = new EventEmitter();
const listener = () => {};