1
0
mirror of https://github.com/pyenv/pyenv.git synced 2025-11-16 23:33:45 -05:00

add fish shell support

This commit is contained in:
Yamashita Yuu
2013-08-15 23:01:13 +09:00
committed by Mislav Marohnić
parent caa4a8e228
commit 5bfec84432
6 changed files with 129 additions and 15 deletions

View File

@@ -18,13 +18,19 @@ load test_helper
}
@test "setup shell completions" {
export SHELL=/bin/bash
root="$(cd $BATS_TEST_DIRNAME/.. && pwd)"
run rbenv-init -
SHELL=/bin/bash run rbenv-init -
assert_success
assert_line "source '${root}/libexec/../completions/rbenv.bash'"
}
@test "setup shell completions (fish)" {
root="$(cd $BATS_TEST_DIRNAME/.. && pwd)"
SHELL=/usr/bin/fish run rbenv-init -
assert_success
assert_line '. "'${root}'/libexec/../completions/rbenv.fish";'
}
@test "option to skip rehash" {
run rbenv-init - --no-rehash
assert_success
@@ -33,14 +39,28 @@ load test_helper
@test "adds shims to PATH" {
export PATH="${BATS_TEST_DIRNAME}/../libexec:/usr/bin:/bin"
run rbenv-init -
SHELL=/bin/bash run rbenv-init -
assert_success
assert_line 0 'export PATH="'${RBENV_ROOT}'/shims:${PATH}"'
}
@test "adds shims to PATH (fish)" {
export PATH="${BATS_TEST_DIRNAME}/../libexec:/usr/bin:/bin"
SHELL=/usr/bin/fish run rbenv-init -
assert_success
assert_line 0 'setenv PATH "'${RBENV_ROOT}'/shims" $PATH ;'
}
@test "doesn't add shims to PATH more than once" {
export PATH="${RBENV_ROOT}/shims:$PATH"
run rbenv-init -
SHELL=/bin/bash run rbenv-init -
assert_success
refute_line 'export PATH="'${RBENV_ROOT}'/shims:${PATH}"'
}
@test "doesn't add shims to PATH more than once (fish)" {
export PATH="${RBENV_ROOT}/shims:$PATH"
SHELL=/usr/bin/fish run rbenv-init -
assert_success
refute_line 'setenv PATH "'${RBENV_ROOT}'/shims" $PATH ;'
}

View File

@@ -11,26 +11,42 @@ load test_helper
}
@test "shell version" {
RBENV_VERSION="1.2.3" run rbenv-sh-shell
SHELL=/bin/bash RBENV_VERSION="1.2.3" run rbenv-sh-shell
assert_success 'echo "$RBENV_VERSION"'
}
@test "shell version (fish)" {
SHELL=/usr/bin/fish RBENV_VERSION="1.2.3" run rbenv-sh-shell
assert_success 'echo "$RBENV_VERSION"'
}
@test "shell unset" {
run rbenv-sh-shell --unset
SHELL=/bin/bash run rbenv-sh-shell --unset
assert_success "unset RBENV_VERSION"
}
@test "shell unset (fish)" {
SHELL=/usr/bin/fish run rbenv-sh-shell --unset
assert_success "set -e RBENV_VERSION"
}
@test "shell change invalid version" {
run rbenv-sh-shell 1.2.3
assert_failure
assert_output <<SH
rbenv: version \`1.2.3' not installed
return 1
false
SH
}
@test "shell change version" {
mkdir -p "${RBENV_ROOT}/versions/1.2.3"
run rbenv-sh-shell 1.2.3
SHELL=/bin/bash run rbenv-sh-shell 1.2.3
assert_success 'export RBENV_VERSION="1.2.3"'
}
@test "shell change version (fish)" {
mkdir -p "${RBENV_ROOT}/versions/1.2.3"
SHELL=/usr/bin/fish run rbenv-sh-shell 1.2.3
assert_success 'setenv RBENV_VERSION "1.2.3"'
}