diff --git a/CHANGELOG.md b/CHANGELOG.md index 51dcc39..68e8d23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - add `bin/update_plugins` cli executable script - refactor test `expect` scripts, make them simpler and ensure they properly assert expectations +- refactor code that sets 'TMUX_PLUGIN_MANAGER_PATH' global env var ### v2.0.0, 2015-07-07 - enable overriding default key bindings diff --git a/scripts/set_tpm_path.sh b/scripts/set_tpm_path.sh index 5a5a5af..d870329 100755 --- a/scripts/set_tpm_path.sh +++ b/scripts/set_tpm_path.sh @@ -1,13 +1,15 @@ #!/usr/bin/env bash -default_tpm_path="$HOME/.tmux/plugins/" +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_DIR/variables.sh" tpm_path_set() { - tmux show-environment -g TMUX_PLUGIN_MANAGER_PATH + tmux show-environment -g "$DEFAULT_TPM_ENV_VAR_NAME" } set_default_tpm_path() { - tmux set-environment -g TMUX_PLUGIN_MANAGER_PATH "$default_tpm_path" + tmux set-environment -g "$DEFAULT_TPM_ENV_VAR_NAME" "$DEFAULT_TPM_PATH" } main() { diff --git a/scripts/variables.sh b/scripts/variables.sh index 7c4c3e2..5601a86 100644 --- a/scripts/variables.sh +++ b/scripts/variables.sh @@ -8,3 +8,6 @@ clean_key_option="@tpm-clean" default_clean_key="M-u" SUPPORTED_TMUX_VERSION="1.9" + +DEFAULT_TPM_ENV_VAR_NAME="TMUX_PLUGIN_MANAGER_PATH" +DEFAULT_TPM_PATH="$HOME/.tmux/plugins/" diff --git a/tests/test_plugin_sourcing.sh b/tests/test_plugin_sourcing.sh index 27bef8e..f609a31 100755 --- a/tests/test_plugin_sourcing.sh +++ b/tests/test_plugin_sourcing.sh @@ -2,6 +2,9 @@ CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" TPM_DIR="$PWD" +PLUGINS_DIR="$HOME/.tmux/plugins" + +CUSTOM_PLUGINS_DIR="$HOME/foo/plugins" source "$CURRENT_DIR/helpers/helpers.sh" source "$CURRENT_DIR/helpers/tpm.sh" @@ -12,16 +15,22 @@ check_binding_defined() { } create_test_plugin_helper() { - local plugin_path="$HOME/.tmux/plugins/tmux_test_plugin/" - rm -rf $plugin_path - mkdir -p $plugin_path + local plugin_path="$PLUGINS_DIR/tmux_test_plugin/" + rm -rf "$plugin_path" + mkdir -p "$plugin_path" - while read -r line; do - echo $line >> "$plugin_path/test_plugin.tmux" + while read line; do + echo "$line" >> "$plugin_path/test_plugin.tmux" done chmod +x "$plugin_path/test_plugin.tmux" } +check_tpm_path() { + local correct_tpm_path="$1" + local tpm_path="$(tmux start-server\; show-environment -g TMUX_PLUGIN_MANAGER_PATH | cut -f2 -d=)" + [ "$correct_tpm_path" == "$tpm_path" ] +} + test_plugin_sourcing() { set_tmux_conf_helper <<- HERE set -g @plugin "doesnt_matter/tmux_test_plugin" @@ -40,4 +49,27 @@ test_plugin_sourcing() { teardown_helper } +test_default_tpm_path() { + set_tmux_conf_helper <<- HERE + run-shell "$TPM_DIR/tpm" + HERE + + check_tpm_path "$PLUGINS_DIR" || + fail_helper "Default TPM path not correct" + + teardown_helper +} + +test_custom_tpm_path() { + set_tmux_conf_helper <<- HERE + set-environment -g TMUX_PLUGIN_MANAGER_PATH '$CUSTOM_PLUGINS_DIR' + run-shell "$TPM_DIR/tpm" + HERE + + check_tpm_path "$CUSTOM_PLUGINS_DIR" || + fail_helper "Custom TPM path not correct" + + teardown_helper +} + run_tests