Add tests for rbenv PATH and RBENV_HOOK_PATH handling

This commit is contained in:
Mislav Marohnić 2014-10-19 14:34:27 +02:00
parent 07d675350f
commit bf39d88d11
2 changed files with 31 additions and 1 deletions

View file

@ -1,2 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
eval "echo \$$1" # Usage: rbenv echo [-F<char>] VAR
if [[ $1 == -F* ]]; then
sep="${1:2}"
echo "${!2}" | tr "${sep:-:}" $'\n'
else
echo "${!1}"
fi

View file

@ -45,3 +45,26 @@ load test_helper
assert_failure assert_failure
assert_output "rbenv: cannot change working directory to \`$dir'" assert_output "rbenv: cannot change working directory to \`$dir'"
} }
@test "adds its own libexec to PATH" {
run rbenv echo "PATH"
assert_success "${BATS_TEST_DIRNAME%/*}/libexec:$PATH"
}
@test "adds plugin bin dirs to PATH" {
mkdir -p "$RBENV_ROOT"/plugins/ruby-build/bin
mkdir -p "$RBENV_ROOT"/plugins/rbenv-each/bin
run rbenv echo -F: "PATH"
assert_success
assert_line 0 "${BATS_TEST_DIRNAME%/*}/libexec"
assert_line 1 "${RBENV_ROOT}/plugins/ruby-build/bin"
assert_line 2 "${RBENV_ROOT}/plugins/rbenv-each/bin"
}
@test "RBENV_HOOK_PATH preserves value from environment" {
RBENV_HOOK_PATH=/my/hook/path:/other/hooks run rbenv echo -F: "RBENV_HOOK_PATH"
assert_success
assert_line 0 "/my/hook/path"
assert_line 1 "/other/hooks"
assert_line 2 "${RBENV_ROOT}/rbenv.d"
}