mirror of
https://github.com/gopasspw/gopass.git
synced 2025-12-08 19:24:54 +00:00
43 lines
971 B
Go
43 lines
971 B
Go
package tests
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestCompletion(t *testing.T) {
|
|
ts := newTester(t)
|
|
defer ts.teardown()
|
|
|
|
out, err := ts.run("completion")
|
|
assert.NoError(t, err)
|
|
assert.Contains(t, out, "Source for auto completion in bash")
|
|
assert.Contains(t, out, "Source for auto completion in zsh")
|
|
|
|
bash := `_gopass_bash_autocomplete() {
|
|
local cur opts base
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} --generate-bash-completion )
|
|
local IFS=$'\n'
|
|
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
return 0
|
|
}
|
|
|
|
complete -F _gopass_bash_autocomplete gopass`
|
|
|
|
out, err = ts.run("completion bash")
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, bash, out)
|
|
|
|
zsh := `autoload -U compinit && compinit
|
|
autoload -U bashcompinit && bashcompinit
|
|
|
|
source <(gopass completion bash)`
|
|
|
|
out, err = ts.run("completion zsh")
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, zsh, out)
|
|
}
|