Skip to content

Commit e04ddfc

Browse files
committed
test: ensure removeListener event fires for once() listeners
Adds test coverage for the removeListener event being emitted when a once() listener is automatically removed after execution. This verifies that streams and other EventEmitters correctly emit removeListener events when once() wrappers clean up.
1 parent bfc81ca commit e04ddfc

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

test/parallel/test-event-emitter-remove-listeners.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,3 +168,19 @@ function listener2() {}
168168
ee.removeListener('foo', listener1);
169169
assert.strictEqual(ee._events.foo, listener2);
170170
}
171+
172+
{
173+
const { Writable } = require('stream');
174+
const stream = new Writable({
175+
write(chunk, encoding, callback) {
176+
callback();
177+
}
178+
});
179+
180+
stream.on('removeListener', common.mustCall((eventName, listener) => {
181+
assert.strictEqual(eventName, 'finish');
182+
}));
183+
184+
stream.once('finish', common.mustCall());
185+
stream.end();
186+
}

0 commit comments

Comments
 (0)