#!/usr/bin/env bash # shellcheck source=lib/utils.sh source $(dirname $BATS_TEST_DIRNAME)/lib/utils.sh proc setup_asdf_dir { global BASE_DIR := $[mktemp -dt asdf.XXXX] global HOME := "$BASE_DIR/home" global ASDF_DIR := "$HOME/.asdf" mkdir -p "$ASDF_DIR/plugins" mkdir -p "$ASDF_DIR/installs" mkdir -p "$ASDF_DIR/shims" mkdir -p "$ASDF_DIR/tmp" global PATH := "$ASDF_DIR/shims:$PATH" } proc install_mock_plugin { var plugin_name = $1 cp -r "$BATS_TEST_DIRNAME/fixtures/dummy_plugin" "$ASDF_DIR/plugins/$plugin_name" } proc install_mock_plugin_version { var plugin_name = $1 var plugin_version = $2 mkdir -p "$ASDF_DIR/installs/$plugin_name/$plugin_version" } proc install_dummy_plugin { install_mock_plugin "dummy" } proc install_dummy_version { install_mock_plugin_version "dummy" $1 } proc clean_asdf_dir { rm -rf $BASE_DIR unset ASDF_DIR } proc setup_repo { cp -r "$BATS_TEST_DIRNAME/fixtures/dummy_plugins_repo" "$ASDF_DIR/repository" touch "$[asdf_dir]/tmp/repo-updated" } (CommandList children: [ (C {(.)} { (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {($ VSub_Name "$BATS_TEST_DIRNAME")})]) left_token: spids: [9 13] ) (/lib/utils.sh) } ) (FuncDef name: setup_asdf_dir body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BASE_DIR) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(mktemp)} {(-dt)} {(asdf.XXXX)})]) left_token: spids: [25 31] ) } spids: [24] ) ] spids: [24] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOME) op: Equal rhs: {($ VSub_Name "$BASE_DIR") (/home)} spids: [34] ) ] spids: [34] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ASDF_DIR) op: Equal rhs: {($ VSub_Name "$HOME") (/.asdf)} spids: [39] ) ] spids: [39] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$ASDF_DIR") (/plugins))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$ASDF_DIR") (/installs))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$ASDF_DIR") (/shims))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$ASDF_DIR") (/tmp))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PATH) op: Equal rhs: {($ VSub_Name "$ASDF_DIR") (/shims) (Lit_Other ":") ($ VSub_Name "$PATH")} spids: [84] ) ] spids: [84] ) ] spids: [21] ) spids: [17 20] ) (FuncDef name: install_mock_plugin body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:plugin_name) op: Equal rhs: {($ VSub_Number "$1")} spids: [102] ) ] spids: [100] ) (C {(cp)} {(-r)} {(DQ ($ VSub_Name "$BATS_TEST_DIRNAME") (/fixtures/dummy_plugin))} {(DQ ($ VSub_Name "$ASDF_DIR") (/plugins/) ($ VSub_Name "$plugin_name"))} ) ] spids: [97] ) spids: [93 96] ) (FuncDef name: install_mock_plugin_version body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:plugin_name) op: Equal rhs: {($ VSub_Number "$1")} spids: [133] ) ] spids: [131] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:plugin_version) op: Equal rhs: {($ VSub_Number "$2")} spids: [139] ) ] spids: [137] ) (C {(mkdir)} {(-p)} { (DQ ($ VSub_Name "$ASDF_DIR") (/installs/) ($ VSub_Name "$plugin_name") (/) ($ VSub_Name "$plugin_version") ) } ) ] spids: [128] ) spids: [124 127] ) (FuncDef name: install_dummy_plugin body: (BraceGroup children:[(C {(install_mock_plugin)} {(DQ (dummy))})] spids:[162]) spids: [158 161] ) (FuncDef name: install_dummy_version body: (BraceGroup children: [(C {(install_mock_plugin_version)} {(DQ (dummy))} {(DQ ($ VSub_Number "$1"))})] spids: [178] ) spids: [174 177] ) (FuncDef name: clean_asdf_dir body: (BraceGroup children: [(C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$BASE_DIR"))}) (C {(unset)} {(ASDF_DIR)})] spids: [198] ) spids: [194 197] ) (FuncDef name: setup_repo body: (BraceGroup children: [ (C {(cp)} {(-r)} {(DQ ($ VSub_Name "$BATS_TEST_DIRNAME") (/fixtures/dummy_plugins_repo))} {(DQ ($ VSub_Name "$ASDF_DIR") (/repository))} ) (C {(touch)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(asdf_dir)})]) left_token: spids: [242 244] ) (/tmp/repo-updated) ) } ) ] spids: [221] ) spids: [217 220] ) ] )