pyenv/test/completions.bats
2014-01-03 02:06:36 +09:00

46 lines
836 B
Bash

#!/usr/bin/env bats
load test_helper
create_command() {
bin="${PYENV_TEST_DIR}/bin"
mkdir -p "$bin"
echo "$2" > "${bin}/$1"
chmod +x "${bin}/$1"
}
@test "command with no completion support" {
create_command "pyenv-hello" "#!$BASH
echo hello"
run pyenv-completions hello
assert_success ""
}
@test "command with completion support" {
create_command "pyenv-hello" "#!$BASH
# provide pyenv completions
if [[ \$1 = --complete ]]; then
echo hello
else
exit 1
fi"
run pyenv-completions hello
assert_success "hello"
}
@test "forwards extra arguments" {
create_command "pyenv-hello" "#!$BASH
# provide pyenv completions
if [[ \$1 = --complete ]]; then
shift 1
for arg; do echo \$arg; done
else
exit 1
fi"
run pyenv-completions hello happy world
assert_success
assert_output <<OUT
happy
world
OUT
}