Skip to content

Commit

Permalink
fix: latest --all correctly report plugins as missing (#1118)
Browse files Browse the repository at this point in the history
  • Loading branch information
threkk committed Dec 9, 2021
1 parent 6e4c39c commit aafe1e5
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
2 changes: 2 additions & 0 deletions help.txt
Expand Up @@ -40,6 +40,8 @@ asdf global <name> latest[:<version>] Set the package local version to the
asdf shell <name> <version> Set the package version to
`ASDF_${LANG}_VERSION` in the current shell
asdf latest <name> [<version>] Show latest stable version of a package
asdf latest --all Show latest stable version of all the
packages and if they are installed
asdf list <name> [version] List installed versions of a package and
optionally filter the versions
asdf list all <name> [<version>] List all versions of a package and
Expand Down
2 changes: 1 addition & 1 deletion lib/commands/command-latest.bash
Expand Up @@ -73,7 +73,7 @@ latest_all() {
local installed_versions
installed_versions=$(list_installed_versions "$plugin_name")

if ! printf '%s\n' "$installed_versions" | grep -q "^$version\$"; then
if [ -n "$installed_versions" ] && printf '%s\n' "$installed_versions" | grep -q "^$version\$"; then
installed_status="installed"
fi
printf "%s\\t%s\\t%s\\n" "$plugin_name" "$version" "$installed_status"
Expand Down
11 changes: 10 additions & 1 deletion test/latest_command.bats
Expand Up @@ -64,7 +64,16 @@ teardown() {
#### latest --all ####
################################
@test "[latest_command - all plugins] shows the latest stable version of all plugins" {
run asdf install dummy 2.0.0
run asdf install legacy-dummy 1.0.0
run asdf latest --all
[ "$(echo -e "dummy\t2.0.0\tinstalled\nlegacy-dummy\t2.0.0\tinstalled\n")" == "$output" ]
echo "output $output"
[ "$(echo -e "dummy\t2.0.0\tinstalled\nlegacy-dummy\t2.0.0\tmissing\n")" == "$output" ]
[ "$status" -eq 0 ]
}

@test "[latest_command - all plugins] not installed plugin should return missing" {
run asdf latest --all
[ "$(echo -e "dummy\t2.0.0\tmissing\nlegacy-dummy\t2.0.0\tmissing\n")" == "$output" ]
[ "$status" -eq 0 ]
}

0 comments on commit aafe1e5

Please sign in to comment.