aboutsummaryrefslogtreecommitdiff
path: root/plugins/tpm/tests/test_plugin_update.sh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/tpm/tests/test_plugin_update.sh')
-rwxr-xr-xplugins/tpm/tests/test_plugin_update.sh60
1 files changed, 60 insertions, 0 deletions
diff --git a/plugins/tpm/tests/test_plugin_update.sh b/plugins/tpm/tests/test_plugin_update.sh
new file mode 100755
index 0000000..4924d16
--- /dev/null
+++ b/plugins/tpm/tests/test_plugin_update.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env bash
+
+CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+TPM_DIR="$PWD"
+PLUGINS_DIR="$HOME/.tmux/plugins"
+
+source "$CURRENT_DIR/helpers/helpers.sh"
+source "$CURRENT_DIR/helpers/tpm.sh"
+
+manually_install_the_plugin() {
+ mkdir -p "$PLUGINS_DIR"
+ cd "$PLUGINS_DIR"
+ git clone --quiet https://github.com/tmux-plugins/tmux-example-plugin
+}
+
+# TMUX KEY-BINDING TESTS
+
+test_plugin_update_via_tmux_key_binding() {
+ set_tmux_conf_helper <<- HERE
+ set -g mode-keys vi
+ set -g @plugin "tmux-plugins/tmux-example-plugin"
+ run-shell "$TPM_DIR/tpm"
+ HERE
+
+ manually_install_the_plugin
+
+ "$CURRENT_DIR/expect_successful_update_of_all_plugins" ||
+ fail_helper "[key-binding] 'update all plugins' fails"
+
+ "$CURRENT_DIR/expect_successful_update_of_a_single_plugin" ||
+ fail_helper "[key-binding] 'update single plugin' fails"
+
+ teardown_helper
+}
+
+# SCRIPT TESTS
+
+test_plugin_update_via_script() {
+ set_tmux_conf_helper <<- HERE
+ set -g mode-keys vi
+ set -g @plugin "tmux-plugins/tmux-example-plugin"
+ run-shell "$TPM_DIR/tpm"
+ HERE
+
+ manually_install_the_plugin
+
+ local expected_exit_code=1
+ script_run_helper "$TPM_DIR/bin/update_plugins" 'usage' "$expected_exit_code" ||
+ fail_helper "[script] running update plugins without args should fail"
+
+ script_run_helper "$TPM_DIR/bin/update_plugins tmux-example-plugin" '"tmux-example-plugin" update success' ||
+ fail_helper "[script] plugin update fails"
+
+ script_run_helper "$TPM_DIR/bin/update_plugins all" '"tmux-example-plugin" update success' ||
+ fail_helper "[script] update all plugins fails"
+
+ teardown_helper
+}
+
+run_tests