#!/usr/bin/env bats load test_helpers setup() { setup_asdf_dir install_dummy_plugin PROJECT_DIR=$HOME/project mkdir -p $PROJECT_DIR cd $PROJECT_DIR # asdf lib needed to run generated shims cp -rf $BATS_TEST_DIRNAME/../{bin,lib} $ASDF_DIR/ } teardown() { clean_asdf_dir } @test "asdf env without argument should display help" { run asdf env [ "$status" -eq 1 ] echo "$output" | grep "usage: asdf env " } @test "asdf env should execute under the environment used for a shim" { echo "dummy 1.0" > $PROJECT_DIR/.tool-versions run asdf install run asdf env dummy which dummy [ "$status" -eq 0 ] [ "$output" == "$ASDF_DIR/installs/dummy/1.0/bin/dummy" ] } @test "asdf env should execute under plugin custom environment used for a shim" { echo "dummy 1.0" > $PROJECT_DIR/.tool-versions run asdf install echo "export FOO=bar" > $ASDF_DIR/plugins/dummy/bin/exec-env chmod +x $ASDF_DIR/plugins/dummy/bin/exec-env run asdf env dummy [ "$status" -eq 0 ] echo $output | grep 'FOO=bar' } @test "asdf env should ignore plugin custom environment on system version" { echo "dummy 1.0" > $PROJECT_DIR/.tool-versions run asdf install echo "export FOO=bar" > $ASDF_DIR/plugins/dummy/bin/exec-env chmod +x $ASDF_DIR/plugins/dummy/bin/exec-env echo "dummy system" > $PROJECT_DIR/.tool-versions run asdf env dummy [ "$status" -eq 0 ] run grep 'FOO=bar' <(echo $output) [ "$output" == "" ] [ "$status" -eq 1 ] run asdf env dummy which dummy [ "$output" == "$ASDF_DIR/shims/dummy" ] [ "$status" -eq 0 ] }