diff options
author | cjihrig <cjihrig@gmail.com> | 2019-07-16 11:46:59 -0400 |
---|---|---|
committer | cjihrig <cjihrig@gmail.com> | 2019-07-18 17:20:45 -0400 |
commit | d0894773a404b04ffd2a050131e73a5622a591c6 (patch) | |
tree | 40c12e9e218e50e6f23e536f7663d000ecc6544c /test | |
parent | 3da44b0b52617556a1c3816a0ae9167a1848655f (diff) | |
download | android-node-v8-d0894773a404b04ffd2a050131e73a5622a591c6.tar.gz android-node-v8-d0894773a404b04ffd2a050131e73a5622a591c6.tar.bz2 android-node-v8-d0894773a404b04ffd2a050131e73a5622a591c6.zip |
tty: expose stream API from readline methods
This commit exposes the return value and callback of the
underlying readline APIs from the tty module.
PR-URL: https://github.com/nodejs/node/pull/28721
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/parallel/test-tty-backwards-api.js | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/test/parallel/test-tty-backwards-api.js b/test/parallel/test-tty-backwards-api.js index 7b6dc3c092..b4005bad61 100644 --- a/test/parallel/test-tty-backwards-api.js +++ b/test/parallel/test-tty-backwards-api.js @@ -1,6 +1,8 @@ // Flags: --expose-internals 'use strict'; const common = require('../common'); +const assert = require('assert'); +const readline = require('readline'); const noop = () => {}; const { internalBinding } = require('internal/test/binding'); @@ -13,15 +15,32 @@ TTY.prototype = { const { WriteStream } = require('tty'); -const methods = [ +[ 'cursorTo', 'moveCursor', 'clearLine', 'clearScreenDown' -]; +].forEach((method) => { + readline[method] = common.mustCall(function() { + const lastArg = arguments[arguments.length - 1]; -methods.forEach((method) => { - require('readline')[method] = common.mustCall(); - const writeStream = new WriteStream(1); - writeStream[method](1, 2); + if (typeof lastArg === 'function') { + process.nextTick(lastArg); + } + + return true; + }, 2); }); + +const writeStream = new WriteStream(1); + +// Verify that the corresponding readline methods are called, that the return +// values are propagated, and any callbacks are invoked. +assert.strictEqual(writeStream.cursorTo(1, 2), true); +assert.strictEqual(writeStream.cursorTo(1, 2, common.mustCall()), true); +assert.strictEqual(writeStream.moveCursor(1, 2), true); +assert.strictEqual(writeStream.moveCursor(1, 2, common.mustCall()), true); +assert.strictEqual(writeStream.clearLine(1), true); +assert.strictEqual(writeStream.clearLine(1, common.mustCall()), true); +assert.strictEqual(writeStream.clearScreenDown(), true); +assert.strictEqual(writeStream.clearScreenDown(common.mustCall()), true); |