Support plugin definition in sourced files

This commit is contained in:
Bruno Sutic
2015-08-03 18:47:13 +02:00
parent 9be7f975e9
commit d70df24051
3 changed files with 130 additions and 9 deletions

View File

@ -5,6 +5,8 @@ PLUGINS_DIR="$HOME/.tmux/plugins"
TPM_DIR="$PWD"
CUSTOM_PLUGINS_DIR="$HOME/foo/plugins"
ADDITIONAL_CONFIG_FILE_1="$HOME/.tmux/additional_config_file_1"
ADDITIONAL_CONFIG_FILE_2="$HOME/.tmux/additional_config_file_2"
source "$CURRENT_DIR/helpers/helpers.sh"
source "$CURRENT_DIR/helpers/tpm.sh"
@ -63,7 +65,6 @@ test_multiple_plugins_installation_via_tmux_key_binding() {
run-shell "$TPM_DIR/tpm"
HERE
# opens tmux and test it with `expect`
"$CURRENT_DIR/expect_successful_multiple_plugins_download" ||
fail_helper "[key-binding] multiple plugins installation fails"
@ -76,6 +77,51 @@ test_multiple_plugins_installation_via_tmux_key_binding() {
teardown_helper
}
test_plugins_installation_from_sourced_file_via_tmux_key_binding() {
set_tmux_conf_helper <<- HERE
source '$ADDITIONAL_CONFIG_FILE_1'
set -g @plugin 'tmux-plugins/tmux-example-plugin'
run-shell "$TPM_DIR/tpm"
HERE
mkdir ~/.tmux
echo "set -g @plugin 'tmux-plugins/tmux-copycat'" > "$ADDITIONAL_CONFIG_FILE_1"
"$CURRENT_DIR/expect_successful_multiple_plugins_download" ||
fail_helper "[key-binding][sourced file] plugins installation fails"
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
fail_helper "[key-binding][sourced file] plugin download fails (tmux-example-plugin)"
check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
fail_helper "[key-binding][sourced file] plugin download fails (tmux-copycat)"
teardown_helper
}
test_plugins_installation_from_multiple_sourced_files_via_tmux_key_binding() {
set_tmux_conf_helper <<- HERE
\ \ source '$ADDITIONAL_CONFIG_FILE_1'
source-file '$ADDITIONAL_CONFIG_FILE_2'
run-shell "$TPM_DIR/tpm"
HERE
mkdir ~/.tmux
echo "set -g @plugin 'tmux-plugins/tmux-example-plugin'" > "$ADDITIONAL_CONFIG_FILE_1"
echo " set -g @plugin 'tmux-plugins/tmux-copycat'" > "$ADDITIONAL_CONFIG_FILE_2"
"$CURRENT_DIR/expect_successful_multiple_plugins_download" ||
fail_helper "[key-binding][multiple sourced files] plugins installation fails"
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
fail_helper "[key-binding][multiple sourced files] plugin download fails (tmux-example-plugin)"
check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
fail_helper "[key-binding][multiple sourced files] plugin download fails (tmux-copycat)"
teardown_helper
}
# SCRIPT TESTS
test_plugin_installation_via_script() {
@ -152,4 +198,59 @@ test_multiple_plugins_installation_via_script() {
teardown_helper
}
test_plugins_installation_from_sourced_file_via_script() {
set_tmux_conf_helper <<- HERE
source '$ADDITIONAL_CONFIG_FILE_1'
set -g @plugin 'tmux-plugins/tmux-example-plugin'
run-shell "$TPM_DIR/tpm"
HERE
mkdir ~/.tmux
echo "set -g @plugin 'tmux-plugins/tmux-copycat'" > "$ADDITIONAL_CONFIG_FILE_1"
script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-copycat" download success' ||
fail_helper "[script][sourced file] plugins installation fails"
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
fail_helper "[script][sourced file] plugin download fails (tmux-example-plugin)"
check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
fail_helper "[script][sourced file] plugin download fails (tmux-copycat)"
script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-copycat"' ||
fail_helper "[script][sourced file] plugins already installed message fail"
teardown_helper
}
test_plugins_installation_from_multiple_sourced_files_via_script() {
set_tmux_conf_helper <<- HERE
\ \ source '$ADDITIONAL_CONFIG_FILE_1'
source-file '$ADDITIONAL_CONFIG_FILE_2'
set -g @plugin 'tmux-plugins/tmux-example-plugin'
run-shell "$TPM_DIR/tpm"
HERE
mkdir ~/.tmux
echo " set -g @plugin 'tmux-plugins/tmux-copycat'" > "$ADDITIONAL_CONFIG_FILE_1"
echo "set -g @plugin 'tmux-plugins/tmux-sensible'" > "$ADDITIONAL_CONFIG_FILE_2"
script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-sensible" download success' ||
fail_helper "[script][multiple sourced files] plugins installation fails"
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
fail_helper "[script][multiple sourced files] plugin download fails (tmux-example-plugin)"
check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
fail_helper "[script][multiple sourced files] plugin download fails (tmux-copycat)"
check_dir_exists_helper "$PLUGINS_DIR/tmux-sensible/" ||
fail_helper "[script][multiple sourced files] plugin download fails (tmux-sensible)"
script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-sensible"' ||
fail_helper "[script][multiple sourced files] plugins already installed message fail"
teardown_helper
}
run_tests