'use strict'; require('../common'); const assert = require('assert'); const child_process = require('child_process'); const { debuglog, inspect } = require('util'); const debug = debuglog('test'); const p = child_process.spawnSync( process.execPath, [ '--completion-bash' ]); assert.ifError(p.error); const output = p.stdout.toString().trim().replace(/\r/g, ''); debug(output); const prefix = `_node_complete() { local cur_word options cur_word="\${COMP_WORDS[COMP_CWORD]}" if [[ "\${cur_word}" == -* ]] ; then COMPREPLY=( $(compgen -W '`.replace(/\r/g, ''); const suffix = `' -- "\${cur_word}") ) return 0 else COMPREPLY=( $(compgen -f "\${cur_word}") ) return 0 fi } complete -o filenames -o nospace -o bashdefault -F _node_complete node node_g` .replace(/\r/g, ''); assert.ok( output.includes(prefix), `Expect\n\n ${inspect(output)}\n\nto include\n\n${inspect(prefix)}`); assert.ok( output.includes(suffix), `Expect\n\n ${inspect(output)}\n\nto include\n\n${inspect(suffix)}`);