1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
# Error on unset variables
set -u
if [ -n "${ZSH_VERSION-}" ]; then
SHUNIT_PARENT="$0"
setopt shwordsplit ksh_arrays
fi
. ../liquidprompt --no-activate
# Liquid Prompt depends on PS1 being set to detect if it has installed itself.
PS1="$ "
LP_ENABLE_RUBY_VENV=1
LP_RUBY_RVM_PROMPT_OPTIONS=("i" "v" "g" "s")
typeset -a rbenv_outputs rbenv_return_strings rvm_outputs rvm_return_strings
# Add test cases to these arrays like below
# Example from rbenv documentation
rbenv_outputs+=(
"1.9.3-p327"
)
rbenv_return_strings+=(
"1.9.3-p327"
)
# Example from rvm documentation
rvm_outputs+=(
"ruby-3.2.2"
)
rvm_return_strings+=(
"ruby-3.2.2"
)
function test_rbenv {
rbenv() {
printf '%s\n' "$__rbenv_output"
}
_LP_RUBY_VENV_PROGRAM=rbenv
for (( index=0; index < ${#rbenv_outputs[@]}; index++ )); do
__rbenv_output=${rbenv_outputs[$index]}
_lp_ruby_env
assertEquals "rbenv returns at index ${index}" "${rbenv_return_strings[$index]}" "$lp_ruby_env"
done
}
function test_rbenv_default {
rbenv() {
printf 'system\n'
}
_LP_RUBY_VENV_PROGRAM=rbenv
unset lp_ruby_env
_lp_ruby_env
assertTrue "rbenv system returned not 1" '[[ "$?" == 1 ]]'
assertNull "rbenv system returned string" "${lp_ruby_env+x}"
}
function test_rvm {
rvm-prompt() {
printf '%s\n' "$__rvm_output"
}
_LP_RUBY_VENV_PROGRAM=rvm
for (( index=0; index < ${#rvm_outputs[@]}; index++ )); do
__rvm_output=${rvm_outputs[$index]}
_lp_ruby_env
assertEquals "rvm-prompt returns at index ${index}" "${rvm_return_strings[$index]}" "$lp_ruby_env"
done
}
function test_rmv_default {
rvm-prompt() {
printf '%s\n' "$__rvm_output"
}
_LP_RUBY_VENV_PROGRAM=rvm
for __rvm_output in "system" ""; do
echo "$__rvm_output"
unset lp_ruby_env
_lp_ruby_env
[[ "$?" == 1 ]] || fail "rbenv system returned not 1"
assertNull "rbenv system returned string" "${lp_ruby_env+x}"
done
}
. ./shunit2
|