mirror of https://github.com/lukechilds/node.git
Browse Source
This fixes a problem where tab completion is empty when the input stream column size is undefined. As a solution we can force maxColumns to 1 in this scenario. PR-URL: https://github.com/nodejs/node/pull/2816 Fixes: https://github.com/nodejs/node/issues/2396 Reviewed-By: Roman Reiss <me@silverwind.io>v4.x
Matt Harrison
9 years ago
committed by
Jeremiah Senkpiel
2 changed files with 40 additions and 1 deletions
@ -0,0 +1,36 @@ |
|||
'use strict'; |
|||
|
|||
const assert = require('assert'); |
|||
const PassThrough = require('stream').PassThrough; |
|||
const readline = require('readline'); |
|||
|
|||
// Checks that tab completion still works
|
|||
// when output column size is undefined
|
|||
|
|||
const iStream = new PassThrough(); |
|||
const oStream = new PassThrough(); |
|||
|
|||
const rli = readline.createInterface({ |
|||
terminal: true, |
|||
input: iStream, |
|||
output: oStream, |
|||
completer: function(line, cb) { |
|||
cb(null, [['process.stdout', 'process.stdin', 'process.stderr'], line]); |
|||
} |
|||
}); |
|||
|
|||
var output = ''; |
|||
|
|||
oStream.on('data', function(data) { |
|||
output += data; |
|||
}); |
|||
|
|||
oStream.on('end', function() { |
|||
const expect = 'process.stdout\r\n' + |
|||
'process.stdin\r\n' + |
|||
'process.stderr'; |
|||
assert(new RegExp(expect).test(output)); |
|||
}); |
|||
|
|||
iStream.write('process.std\t'); |
|||
oStream.end(); |
Loading…
Reference in new issue