commit
51bd975820
@ -19,12 +19,15 @@ else
|
|||||||
include_system="1"
|
include_system="1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
num_versions=0
|
||||||
|
|
||||||
print_version() {
|
print_version() {
|
||||||
if [ "$1" == "$current_version" ]; then
|
if [ "$1" == "$current_version" ]; then
|
||||||
echo "${hit_prefix}$(rbenv-version 2>/dev/null)"
|
echo "${hit_prefix}$(rbenv-version 2>/dev/null)"
|
||||||
else
|
else
|
||||||
echo "${miss_prefix}$1"
|
echo "${miss_prefix}$1"
|
||||||
fi
|
fi
|
||||||
|
num_versions=$((num_versions + 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
# Include "system" in the non-bare output, if it exists
|
# Include "system" in the non-bare output, if it exists
|
||||||
@ -32,8 +35,15 @@ if [ -n "$include_system" ] && RBENV_VERSION=system rbenv-which ruby >/dev/null
|
|||||||
print_version system
|
print_version system
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
shopt -s nullglob
|
||||||
for path in "${RBENV_ROOT}/versions/"*; do
|
for path in "${RBENV_ROOT}/versions/"*; do
|
||||||
if [ -d "$path" ]; then
|
if [ -d "$path" ]; then
|
||||||
print_version "${path##*/}"
|
print_version "${path##*/}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
shopt -u nullglob
|
||||||
|
|
||||||
|
if [ "$num_versions" -eq 0 ] && [ -n "$include_system" ]; then
|
||||||
|
echo "Warning: no Ruby detected on the system" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
@ -24,6 +24,12 @@ stub_system_ruby() {
|
|||||||
assert_success "* system (set by ${RBENV_ROOT}/version)"
|
assert_success "* system (set by ${RBENV_ROOT}/version)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "not even system ruby available" {
|
||||||
|
PATH="$(path_without ruby)" run rbenv-versions
|
||||||
|
assert_failure
|
||||||
|
assert_output "Warning: no Ruby detected on the system"
|
||||||
|
}
|
||||||
|
|
||||||
@test "bare output no versions installed" {
|
@test "bare output no versions installed" {
|
||||||
assert [ ! -d "${RBENV_ROOT}/versions" ]
|
assert [ ! -d "${RBENV_ROOT}/versions" ]
|
||||||
run rbenv-versions --bare
|
run rbenv-versions --bare
|
||||||
@ -113,3 +119,23 @@ OUT
|
|||||||
2.0.0
|
2.0.0
|
||||||
OUT
|
OUT
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "ignores non-directories under versions" {
|
||||||
|
create_version "1.9"
|
||||||
|
touch "${RBENV_ROOT}/versions/hello"
|
||||||
|
|
||||||
|
run rbenv-versions --bare
|
||||||
|
assert_success "1.9"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "lists symlinks under versions" {
|
||||||
|
create_version "1.8.7"
|
||||||
|
ln -s "1.8.7" "${RBENV_ROOT}/versions/1.8"
|
||||||
|
|
||||||
|
run rbenv-versions --bare
|
||||||
|
assert_success
|
||||||
|
assert_output <<OUT
|
||||||
|
1.8
|
||||||
|
1.8.7
|
||||||
|
OUT
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user