test: add test case for completion bash flag

This test case verifies that starting Node.js with the completion
bash flag prints out the expected result and ends right after.

PR-URL: https://github.com/nodejs/node/pull/24168
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This commit is contained in:
Aivo Paas 2018-11-06 15:52:09 +00:00 committed by Gireesh Punathil
parent d968e4324b
commit 288076d4a5

View File

@ -0,0 +1,23 @@
'use strict';
require('../common');
const assert = require('assert');
const child_process = require('child_process');
const p = child_process.spawnSync(
process.execPath, [ '--completion-bash' ]);
assert.ifError(p.error);
assert.ok(p.stdout.toString().includes(
`_node_complete() {
local cur_word options
cur_word="\${COMP_WORDS[COMP_CWORD]}"
if [[ "\${cur_word}" == -* ]] ; then
COMPREPLY=( $(compgen -W '`));
assert.ok(p.stdout.toString().includes(
`' -- "\${cur_word}") )
return 0
else
COMPREPLY=( $(compgen -f "\${cur_word}") )
return 0
fi
}
complete -F _node_complete node node_g`));