diff --git a/test/parallel/test-readline-interface.js b/test/parallel/test-readline-interface.js index a0946a370f4c11..4f31762bfc7227 100644 --- a/test/parallel/test-readline-interface.js +++ b/test/parallel/test-readline-interface.js @@ -1061,6 +1061,16 @@ for (let i = 0; i < 12; i++) { rli.close(); } + // Calling only the first question callback + { + const [rli] = getInterface({ terminal }); + rli.question('foo?', common.mustCall((answer) => { + assert.strictEqual(answer, 'bar'); + })); + rli.question('hello?', common.mustNotCall()); + rli.write('bar\n'); + } + // Calling the question multiple times { const [rli] = getInterface({ terminal }); @@ -1329,6 +1339,26 @@ for (let i = 0; i < 12; i++) { rli.close(); }), delay); } + + // Write correctly if paused + { + const [rli] = getInterface({ terminal }); + rli.on('line', common.mustCall((line) => { + assert.strictEqual(line, 'bar'); + })); + rli.pause(); + rli.write('bar\n'); + assert.strictEqual(rli.paused, false); + rli.close(); + } + + // Write undefined + { + const [rli] = getInterface({ terminal }); + rli.on('line', common.mustNotCall()); + rli.write(); + rli.close(); + } }); // Ensure that the _wordLeft method works even for large input