mirror of
https://github.com/asdf-vm/asdf.git
synced 2024-11-15 01:28:17 -07:00
f79dda865a
Previously, if we ran a command like `asdf install` and we encountered a plugin that didn't exist, asdf produces an error saying "No such plugin". Without knowing which plugin it could be referring too, we'd have to manually go through each plugin in `.tool-versions` to find the culprit. With this commit, we'll now also include the plugin name as part of the messaging for easier debugging.
73 lines
1.6 KiB
Bash
73 lines
1.6 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
load test_helpers
|
|
|
|
. $(dirname $BATS_TEST_DIRNAME)/lib/commands/reshim.sh
|
|
. $(dirname $BATS_TEST_DIRNAME)/lib/commands/install.sh
|
|
. $(dirname $BATS_TEST_DIRNAME)/lib/commands/plugin-remove.sh
|
|
|
|
setup() {
|
|
setup_asdf_dir
|
|
}
|
|
|
|
teardown() {
|
|
clean_asdf_dir
|
|
}
|
|
|
|
@test "plugin_remove_command removes a plugin" {
|
|
install_dummy_plugin
|
|
|
|
run plugin_remove_command "dummy"
|
|
[ "$status" -eq 0 ]
|
|
[ "$output" = "" ]
|
|
}
|
|
|
|
@test "plugin_remove_command should exit with 1 when not passed any arguments" {
|
|
run plugin_remove_command
|
|
[ "$status" -eq 1 ]
|
|
[ "$output" = "No plugin given" ]
|
|
}
|
|
|
|
@test "plugin_remove_command should exit with 1 when passed invalid plugin name" {
|
|
run plugin_remove_command "does-not-exist"
|
|
[ "$status" -eq 1 ]
|
|
[ "$output" = "No such plugin: does-not-exist" ]
|
|
}
|
|
|
|
@test "plugin_remove_command should remove installed versions" {
|
|
install_dummy_plugin
|
|
run install_command dummy 1.0
|
|
[ "$status" -eq 0 ]
|
|
[ -d $ASDF_DIR/installs/dummy ]
|
|
|
|
run plugin_remove_command dummy
|
|
[ "$status" -eq 0 ]
|
|
[ ! -d $ASDF_DIR/installs/dummy ]
|
|
}
|
|
|
|
@test "plugin_remove_command should also remove shims for that plugin" {
|
|
install_dummy_plugin
|
|
run install_command dummy 1.0
|
|
[ "$status" -eq 0 ]
|
|
[ -f $ASDF_DIR/shims/dummy ]
|
|
|
|
run plugin_remove_command dummy
|
|
[ "$status" -eq 0 ]
|
|
[ ! -f $ASDF_DIR/shims/dummy ]
|
|
}
|
|
|
|
|
|
@test "plugin_remove_command should not remove unrelated shims" {
|
|
install_dummy_plugin
|
|
run install_command dummy 1.0
|
|
|
|
# make an unrelated shim
|
|
echo "# asdf-plugin: gummy" > $ASDF_DIR/shims/gummy
|
|
|
|
run plugin_remove_command dummy
|
|
[ "$status" -eq 0 ]
|
|
|
|
# unrelated shim should exist
|
|
[ -f $ASDF_DIR/shims/gummy ]
|
|
}
|