diff --git a/test/parallel/test-readline-promises-interface.js b/test/parallel/test-readline-promises-interface.js index e4bf483c3dc851..cf0543d7d255f7 100644 --- a/test/parallel/test-readline-promises-interface.js +++ b/test/parallel/test-readline-promises-interface.js @@ -797,6 +797,24 @@ for (let i = 0; i < 12; i++) { fi.emit('data', 'asdf\n'); } + // Ensure that options.signal.removeEventListener was called + { + const ac = new AbortController(); + const signal = ac.signal; + const [rli] = getInterface({ terminal }); + signal.removeEventListener = common.mustCall( + (event, onAbortFn) => { + assert.strictEqual(event, 'abort'); + assert.strictEqual(onAbortFn.name, 'onAbort'); + }); + + rli.question('hello?', { signal }).then(common.mustCall()); + + rli.write('bar\n'); + ac.abort(); + rli.close(); + } + // Sending a blank line { const [rli, fi] = getInterface({ terminal });