Add .tmux.conf
Add .tmux/plugins/tmux-sensible/CHANGELOG.md Add .tmux/plugins/tmux-sensible/LICENSE.md Add .tmux/plugins/tmux-sensible/README.md Add .tmux/plugins/tmux-sensible/.git/HEAD Add .tmux/plugins/tmux-sensible/.git/config Add .tmux/plugins/tmux-sensible/.git/description Add .tmux/plugins/tmux-sensible/.git/hooks/applypatch-msg.sample Add .tmux/plugins/tmux-sensible/.git/hooks/commit-msg.sample Add .tmux/plugins/tmux-sensible/.git/hooks/fsmonitor-watchman.sample Add .tmux/plugins/tmux-sensible/.git/hooks/post-update.sample Add .tmux/plugins/tmux-sensible/.git/hooks/pre-applypatch.sample Add .tmux/plugins/tmux-sensible/.git/hooks/pre-commit.sample Add .tmux/plugins/tmux-sensible/.git/hooks/pre-merge-commit.sample Add .tmux/plugins/tmux-sensible/.git/hooks/pre-push.sample Add .tmux/plugins/tmux-sensible/.git/hooks/pre-rebase.sample Add .tmux/plugins/tmux-sensible/.git/hooks/pre-receive.sample Add .tmux/plugins/tmux-sensible/.git/hooks/prepare-commit-msg.sample Add .tmux/plugins/tmux-sensible/.git/hooks/push-to-checkout.sample Add .tmux/plugins/tmux-sensible/.git/hooks/update.sample Add .tmux/plugins/tmux-sensible/.git/index Add .tmux/plugins/tmux-sensible/.git/info/exclude Add .tmux/plugins/tmux-sensible/.git/logs/HEAD Add .tmux/plugins/tmux-sensible/.git/logs/refs/heads/master Add .tmux/plugins/tmux-sensible/.git/logs/refs/remotes/origin/HEAD Add .tmux/plugins/tmux-sensible/.git/objects/info/.keep Add .tmux/plugins/tmux-sensible/.git/objects/pack/pack-2a598c9f31f588f92fc2a83b1ab7a1ae38767c16.idx Add .tmux/plugins/tmux-sensible/.git/objects/pack/pack-2a598c9f31f588f92fc2a83b1ab7a1ae38767c16.pack Add .tmux/plugins/tmux-sensible/.git/packed-refs Add .tmux/plugins/tmux-sensible/.git/refs/heads/master Add .tmux/plugins/tmux-sensible/.git/refs/remotes/origin/HEAD Add .tmux/plugins/tmux-sensible/.git/refs/tags/v1.0.0 Add .tmux/plugins/tmux-sensible/.git/refs/tags/v1.1.0 Add .tmux/plugins/tmux-sensible/.git/refs/tags/v2.0.0 Add .tmux/plugins/tmux-sensible/.git/refs/tags/v2.1.0 Add .tmux/plugins/tmux-sensible/.git/refs/tags/v2.2.0 Add .tmux/plugins/tmux-sensible/.git/refs/tags/v2.3.0 Add .tmux/plugins/tmux-sensible/.git/refs/tags/v3.0.0 Add .tmux/plugins/tmux-sensible/.gitattributes Add .tmux/plugins/tmux-sensible/sensible.tmux Add .tmux/plugins/tmux/LICENSE Add .tmux/plugins/tmux/README.md Add .tmux/plugins/tmux/assets/frappe.webp Add .tmux/plugins/tmux/assets/latte.webp Add .tmux/plugins/tmux/assets/macchiato.webp Add .tmux/plugins/tmux/assets/mocha.webp Add .tmux/plugins/tmux/assets/preview.webp Add .tmux/plugins/tmux/catppuccin-frappe.tmuxtheme Add .tmux/plugins/tmux/catppuccin-latte.tmuxtheme Add .tmux/plugins/tmux/catppuccin-macchiato.tmuxtheme Add .tmux/plugins/tmux/catppuccin-mocha.tmuxtheme Add .tmux/plugins/tmux/.editorconfig Add .tmux/plugins/tmux/.git/HEAD Add .tmux/plugins/tmux/.git/config Add .tmux/plugins/tmux/.git/description Add .tmux/plugins/tmux/.git/hooks/applypatch-msg.sample Add .tmux/plugins/tmux/.git/hooks/commit-msg.sample Add .tmux/plugins/tmux/.git/hooks/fsmonitor-watchman.sample Add .tmux/plugins/tmux/.git/hooks/post-update.sample Add .tmux/plugins/tmux/.git/hooks/pre-applypatch.sample Add .tmux/plugins/tmux/.git/hooks/pre-commit.sample Add .tmux/plugins/tmux/.git/hooks/pre-merge-commit.sample Add .tmux/plugins/tmux/.git/hooks/pre-push.sample Add .tmux/plugins/tmux/.git/hooks/pre-rebase.sample Add .tmux/plugins/tmux/.git/hooks/pre-receive.sample Add .tmux/plugins/tmux/.git/hooks/prepare-commit-msg.sample Add .tmux/plugins/tmux/.git/hooks/push-to-checkout.sample Add .tmux/plugins/tmux/.git/hooks/sendemail-validate.sample Add .tmux/plugins/tmux/.git/hooks/update.sample Add .tmux/plugins/tmux/.git/index Add .tmux/plugins/tmux/.git/info/exclude Add .tmux/plugins/tmux/.git/logs/HEAD Add .tmux/plugins/tmux/.git/logs/refs/heads/main Add .tmux/plugins/tmux/.git/logs/refs/remotes/origin/HEAD Add .tmux/plugins/tmux/.git/objects/info/.keep Add .tmux/plugins/tmux/.git/objects/pack/pack-ca2499aaebdbbc41d6409686c32c5c7e0d6988c8.idx Add .tmux/plugins/tmux/.git/objects/pack/pack-ca2499aaebdbbc41d6409686c32c5c7e0d6988c8.pack Add .tmux/plugins/tmux/.git/objects/pack/pack-ca2499aaebdbbc41d6409686c32c5c7e0d6988c8.rev Add .tmux/plugins/tmux/.git/packed-refs Add .tmux/plugins/tmux/.git/refs/heads/main Add .tmux/plugins/tmux/.git/refs/remotes/origin/HEAD Add .tmux/plugins/tmux/.git/refs/tags/.keep Add .tmux/plugins/tmux/.gitignore Add .tmux/plugins/tmux/catppuccin.tmux Add .tmux/plugins/tpm/CHANGELOG.md Add .tmux/plugins/tpm/HOW_TO_PLUGIN.md Add .tmux/plugins/tpm/LICENSE.md Add .tmux/plugins/tpm/README.md Add .tmux/plugins/tpm/bin/clean_plugins Add .tmux/plugins/tpm/bin/install_plugins Add .tmux/plugins/tpm/bin/update_plugins Add .tmux/plugins/tpm/bindings/clean_plugins Add .tmux/plugins/tpm/bindings/install_plugins Add .tmux/plugins/tpm/bindings/update_plugins Add .tmux/plugins/tpm/docs/automatic_tpm_installation.md Add .tmux/plugins/tpm/docs/changing_plugins_install_dir.md Add .tmux/plugins/tpm/docs/how_to_create_plugin.md Add .tmux/plugins/tpm/docs/managing_plugins_via_cmd_line.md Add .tmux/plugins/tpm/docs/tpm_not_working.md Add .tmux/plugins/tpm/.git/HEAD Add .tmux/plugins/tpm/.git/config Add .tmux/plugins/tpm/.git/description Add .tmux/plugins/tpm/.git/hooks/applypatch-msg.sample Add .tmux/plugins/tpm/.git/hooks/commit-msg.sample Add .tmux/plugins/tpm/.git/hooks/fsmonitor-watchman.sample Add .tmux/plugins/tpm/.git/hooks/post-update.sample Add .tmux/plugins/tpm/.git/hooks/pre-applypatch.sample Add .tmux/plugins/tpm/.git/hooks/pre-commit.sample Add .tmux/plugins/tpm/.git/hooks/pre-merge-commit.sample Add .tmux/plugins/tpm/.git/hooks/pre-push.sample Add .tmux/plugins/tpm/.git/hooks/pre-rebase.sample Add .tmux/plugins/tpm/.git/hooks/pre-receive.sample Add .tmux/plugins/tpm/.git/hooks/prepare-commit-msg.sample Add .tmux/plugins/tpm/.git/hooks/push-to-checkout.sample Add .tmux/plugins/tpm/.git/hooks/update.sample Add .tmux/plugins/tpm/.git/index Add .tmux/plugins/tpm/.git/info/exclude Add .tmux/plugins/tpm/.git/logs/HEAD Add .tmux/plugins/tpm/.git/logs/refs/heads/master Add .tmux/plugins/tpm/.git/logs/refs/remotes/origin/HEAD Add .tmux/plugins/tpm/.git/objects/info/.keep Add .tmux/plugins/tpm/.git/objects/pack/pack-17625ffcf71a446997741831332005307218a33a.idx Add .tmux/plugins/tpm/.git/objects/pack/pack-17625ffcf71a446997741831332005307218a33a.pack Add .tmux/plugins/tpm/.git/packed-refs Add .tmux/plugins/tpm/.git/refs/heads/master Add .tmux/plugins/tpm/.git/refs/remotes/origin/HEAD Add .tmux/plugins/tpm/.git/refs/tags/.keep Add .tmux/plugins/tpm/.gitattributes Add .tmux/plugins/tpm/.gitignore Add .tmux/plugins/tpm/.gitmodules Add .tmux/plugins/tpm/.travis.yml Add .tmux/plugins/tpm/tpm Add .tmux/plugins/tpm/lib/tmux-test/.keep Add .tmux/plugins/tpm/scripts/check_tmux_version.sh Add .tmux/plugins/tpm/scripts/clean_plugins.sh Add .tmux/plugins/tpm/scripts/install_plugins.sh Add .tmux/plugins/tpm/scripts/source_plugins.sh Add .tmux/plugins/tpm/scripts/update_plugin.sh Add .tmux/plugins/tpm/scripts/update_plugin_prompt_handler.sh Add .tmux/plugins/tpm/scripts/helpers/plugin_functions.sh Add .tmux/plugins/tpm/scripts/helpers/shell_echo_functions.sh Add .tmux/plugins/tpm/scripts/helpers/tmux_echo_functions.sh Add .tmux/plugins/tpm/scripts/helpers/tmux_utils.sh Add .tmux/plugins/tpm/scripts/helpers/utility.sh Add .tmux/plugins/tpm/scripts/variables.sh Add .tmux/plugins/tpm/tests/expect_failed_plugin_download Add .tmux/plugins/tpm/tests/expect_successful_clean_plugins Add .tmux/plugins/tpm/tests/expect_successful_multiple_plugins_download Add .tmux/plugins/tpm/tests/expect_successful_plugin_download Add .tmux/plugins/tpm/tests/expect_successful_update_of_a_single_plugin Add .tmux/plugins/tpm/tests/expect_successful_update_of_all_plugins Add .tmux/plugins/tpm/tests/test_plugin_clean.sh Add .tmux/plugins/tpm/tests/test_plugin_installation.sh Add .tmux/plugins/tpm/tests/test_plugin_installation_legacy.sh Add .tmux/plugins/tpm/tests/test_plugin_sourcing.sh Add .tmux/plugins/tpm/tests/test_plugin_update.sh Add .tmux/plugins/tpm/tests/helpers/tpm.sh Add .tmux/plugins/vim-tmux-navigator/License.md Add .tmux/plugins/vim-tmux-navigator/README.md Add .tmux/plugins/vim-tmux-navigator/doc/tmux-navigator.txt Add .tmux/plugins/vim-tmux-navigator/.git/HEAD Add .tmux/plugins/vim-tmux-navigator/.git/config Add .tmux/plugins/vim-tmux-navigator/.git/description Add .tmux/plugins/vim-tmux-navigator/.git/hooks/applypatch-msg.sample Add .tmux/plugins/vim-tmux-navigator/.git/hooks/commit-msg.sample Add .tmux/plugins/vim-tmux-navigator/.git/hooks/fsmonitor-watchman.sample Add .tmux/plugins/vim-tmux-navigator/.git/hooks/post-update.sample Add .tmux/plugins/vim-tmux-navigator/.git/hooks/pre-applypatch.sample Add .tmux/plugins/vim-tmux-navigator/.git/hooks/pre-commit.sample Add .tmux/plugins/vim-tmux-navigator/.git/hooks/pre-merge-commit.sample Add .tmux/plugins/vim-tmux-navigator/.git/hooks/pre-push.sample Add .tmux/plugins/vim-tmux-navigator/.git/hooks/pre-rebase.sample Add .tmux/plugins/vim-tmux-navigator/.git/hooks/pre-receive.sample Add .tmux/plugins/vim-tmux-navigator/.git/hooks/prepare-commit-msg.sample Add .tmux/plugins/vim-tmux-navigator/.git/hooks/push-to-checkout.sample Add .tmux/plugins/vim-tmux-navigator/.git/hooks/update.sample Add .tmux/plugins/vim-tmux-navigator/.git/index Add .tmux/plugins/vim-tmux-navigator/.git/info/exclude Add .tmux/plugins/vim-tmux-navigator/.git/logs/HEAD Add .tmux/plugins/vim-tmux-navigator/.git/logs/refs/heads/master Add .tmux/plugins/vim-tmux-navigator/.git/logs/refs/remotes/origin/HEAD Add .tmux/plugins/vim-tmux-navigator/.git/objects/info/.keep Add .tmux/plugins/vim-tmux-navigator/.git/objects/pack/pack-d18103c902c90ca8df5435292ec0cf5b50bd3683.idx Add .tmux/plugins/vim-tmux-navigator/.git/objects/pack/pack-d18103c902c90ca8df5435292ec0cf5b50bd3683.pack Add .tmux/plugins/vim-tmux-navigator/.git/packed-refs Add .tmux/plugins/vim-tmux-navigator/.git/refs/heads/master Add .tmux/plugins/vim-tmux-navigator/.git/refs/remotes/origin/HEAD Add .tmux/plugins/vim-tmux-navigator/.git/refs/tags/v1.0 Add .tmux/plugins/vim-tmux-navigator/.gitignore Add .tmux/plugins/vim-tmux-navigator/vim-tmux-navigator.tmux Add .tmux/plugins/vim-tmux-navigator/pattern-check Add .tmux/plugins/vim-tmux-navigator/plugin/tmux_navigator.vim Add revive.toml
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env expect
|
||||
|
||||
# disables script output
|
||||
log_user 0
|
||||
|
||||
spawn tmux
|
||||
|
||||
# Waiting for tmux to attach. If this is not done, next command, `send` will
|
||||
# not work properly.
|
||||
sleep 1
|
||||
|
||||
# this is tmux prefix + I
|
||||
send "I"
|
||||
|
||||
# cloning might take a while
|
||||
set timeout 20
|
||||
|
||||
expect_after {
|
||||
timeout { exit 1 }
|
||||
}
|
||||
|
||||
expect {
|
||||
"Installing \"non-existing-plugin\""
|
||||
}
|
||||
|
||||
expect {
|
||||
"\"non-existing-plugin\" download fail"
|
||||
}
|
||||
|
||||
expect {
|
||||
"Done, press ENTER to continue" {
|
||||
exit 0
|
||||
}
|
||||
}
|
||||
|
||||
exit 1
|
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env expect
|
||||
|
||||
# disables script output
|
||||
log_user 0
|
||||
|
||||
spawn tmux
|
||||
|
||||
# Waiting for tmux to attach. If this is not done, next command, `send` will
|
||||
# not work properly.
|
||||
sleep 1
|
||||
|
||||
# this is tmux prefix + alt + u
|
||||
send "u"
|
||||
|
||||
set timeout 5
|
||||
|
||||
expect_after {
|
||||
timeout { exit 1 }
|
||||
}
|
||||
|
||||
expect {
|
||||
"Removing \"tmux-example-plugin\""
|
||||
}
|
||||
|
||||
expect {
|
||||
"\"tmux-example-plugin\" clean success"
|
||||
}
|
||||
|
||||
expect {
|
||||
"Done, press ENTER to continue." {
|
||||
exit 0
|
||||
}
|
||||
}
|
||||
|
||||
exit 1
|
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env expect
|
||||
|
||||
# disables script output
|
||||
log_user 0
|
||||
|
||||
spawn tmux
|
||||
|
||||
# Waiting for tmux to attach. If this is not done, next command, `send` will
|
||||
# not work properly.
|
||||
sleep 1
|
||||
|
||||
# this is tmux prefix + I
|
||||
send "I"
|
||||
|
||||
# cloning might take a while
|
||||
set timeout 15
|
||||
|
||||
expect_after {
|
||||
timeout { exit 1 }
|
||||
}
|
||||
|
||||
expect {
|
||||
"Installing \"tmux-example-plugin\""
|
||||
}
|
||||
|
||||
expect {
|
||||
"\"tmux-example-plugin\" download success"
|
||||
}
|
||||
|
||||
expect {
|
||||
"Installing \"tmux-copycat\""
|
||||
}
|
||||
|
||||
expect {
|
||||
"\"tmux-copycat\" download success"
|
||||
}
|
||||
|
||||
expect {
|
||||
"Done, press ENTER to continue." {
|
||||
exit 0
|
||||
}
|
||||
}
|
||||
|
||||
exit 1
|
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env expect
|
||||
|
||||
# disables script output
|
||||
log_user 0
|
||||
|
||||
spawn tmux
|
||||
|
||||
# Waiting for tmux to attach. If this is not done, next command, `send` will
|
||||
# not work properly.
|
||||
sleep 1
|
||||
|
||||
# this is tmux prefix + I
|
||||
send "I"
|
||||
|
||||
# cloning might take a while
|
||||
set timeout 15
|
||||
|
||||
expect_after {
|
||||
timeout { exit 1 }
|
||||
}
|
||||
|
||||
expect {
|
||||
"Installing \"tmux-example-plugin\""
|
||||
}
|
||||
|
||||
expect {
|
||||
"\"tmux-example-plugin\" download success"
|
||||
}
|
||||
|
||||
expect {
|
||||
"Done, press ENTER to continue" {
|
||||
send "
|
||||
"
|
||||
}
|
||||
}
|
||||
|
||||
sleep 1
|
||||
# this is tmux prefix + I
|
||||
send "I"
|
||||
|
||||
expect {
|
||||
"Already installed \"tmux-example-plugin\""
|
||||
}
|
||||
|
||||
expect {
|
||||
"Done, press ENTER to continue" {
|
||||
exit 0
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env expect
|
||||
|
||||
# disables script output
|
||||
log_user 0
|
||||
|
||||
spawn tmux
|
||||
|
||||
# Waiting for tmux to attach. If this is not done, next command, `send` will
|
||||
# not work properly.
|
||||
sleep 1
|
||||
|
||||
# this is tmux prefix + U
|
||||
send "U"
|
||||
|
||||
set timeout 15
|
||||
|
||||
expect_after {
|
||||
timeout { exit 1 }
|
||||
}
|
||||
|
||||
expect {
|
||||
"Installed plugins"
|
||||
}
|
||||
|
||||
expect {
|
||||
"tmux-example-plugin"
|
||||
}
|
||||
|
||||
expect {
|
||||
"\"all\" - updates all plugins"
|
||||
}
|
||||
|
||||
expect {
|
||||
"ENTER - cancels"
|
||||
}
|
||||
|
||||
# wait for tmux to display prompt before sending characters
|
||||
sleep 1
|
||||
send "tmux-example-plugin\r"
|
||||
|
||||
expect {
|
||||
"Updating \"tmux-example-plugin\""
|
||||
}
|
||||
|
||||
expect {
|
||||
"\"tmux-example-plugin\" update success"
|
||||
}
|
||||
|
||||
expect {
|
||||
"Done, press ENTER to continue." {
|
||||
exit 0
|
||||
}
|
||||
}
|
||||
|
||||
exit 1
|
@@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env expect
|
||||
|
||||
# disables script output
|
||||
log_user 0
|
||||
|
||||
spawn tmux
|
||||
|
||||
# Waiting for tmux to attach. If this is not done, next command, `send` will
|
||||
# not work properly.
|
||||
sleep 1
|
||||
|
||||
# this is tmux prefix + U
|
||||
send "U"
|
||||
|
||||
set timeout 5
|
||||
|
||||
expect_after {
|
||||
timeout { exit 1 }
|
||||
}
|
||||
|
||||
expect {
|
||||
"Installed plugins"
|
||||
}
|
||||
|
||||
expect {
|
||||
"tmux-example-plugin"
|
||||
}
|
||||
|
||||
expect {
|
||||
"\"all\" - updates all plugins"
|
||||
}
|
||||
|
||||
expect {
|
||||
"ENTER - cancels"
|
||||
}
|
||||
|
||||
# wait for tmux to display prompt before sending characters
|
||||
sleep 1
|
||||
send "all\r"
|
||||
|
||||
expect {
|
||||
"Updating all plugins!"
|
||||
}
|
||||
|
||||
expect {
|
||||
"Updating \"tmux-example-plugin\""
|
||||
}
|
||||
|
||||
expect {
|
||||
"\"tmux-example-plugin\" update success"
|
||||
}
|
||||
|
||||
expect {
|
||||
"Done, press ENTER to continue." {
|
||||
exit 0
|
||||
}
|
||||
}
|
||||
|
||||
exit 1
|
67
dot_tmux/plugins/tpm/tests/executable_test_plugin_clean.sh
Normal file
67
dot_tmux/plugins/tpm/tests/executable_test_plugin_clean.sh
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/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() {
|
||||
rm -rf "$PLUGINS_DIR"
|
||||
mkdir -p "$PLUGINS_DIR"
|
||||
cd "$PLUGINS_DIR"
|
||||
git clone --quiet https://github.com/tmux-plugins/tmux-example-plugin
|
||||
}
|
||||
|
||||
# TMUX KEY-BINDING TESTS
|
||||
|
||||
test_plugin_uninstallation_via_tmux_key_binding() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
manually_install_the_plugin
|
||||
|
||||
"$CURRENT_DIR/expect_successful_clean_plugins" ||
|
||||
fail_helper "[key-binding] clean fails"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
# SCRIPT TESTS
|
||||
|
||||
test_plugin_uninstallation_via_script() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
manually_install_the_plugin
|
||||
|
||||
script_run_helper "$TPM_DIR/bin/clean_plugins" '"tmux-example-plugin" clean success' ||
|
||||
fail_helper "[script] plugin cleaning fails"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
test_unsuccessful_plugin_uninstallation_via_script() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
manually_install_the_plugin
|
||||
chmod 000 "$PLUGINS_DIR/tmux-example-plugin" # disable directory deletion
|
||||
|
||||
local expected_exit_code=1
|
||||
script_run_helper "$TPM_DIR/bin/clean_plugins" '"tmux-example-plugin" clean fail' "$expected_exit_code" ||
|
||||
fail_helper "[script] unsuccessful plugin cleaning doesn't fail"
|
||||
|
||||
chmod 755 "$PLUGINS_DIR/tmux-example-plugin" # enable directory deletion
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
run_tests
|
@@ -0,0 +1,284 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
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"
|
||||
|
||||
# TMUX KEY-BINDING TESTS
|
||||
|
||||
test_plugin_installation_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
|
||||
|
||||
"$CURRENT_DIR/expect_successful_plugin_download" ||
|
||||
fail_helper "[key-binding] plugin installation fails"
|
||||
|
||||
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
|
||||
fail_helper "[key-binding] plugin download fails"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
test_plugin_installation_via_tmux_key_binding_set_option() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
set-option -g @plugin "tmux-plugins/tmux-example-plugin"
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
"$CURRENT_DIR/expect_successful_plugin_download" ||
|
||||
fail_helper "[key-binding][set-option] plugin installation fails"
|
||||
|
||||
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
|
||||
fail_helper "[key-binding][set-option] plugin download fails"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
test_plugin_installation_custom_dir_via_tmux_key_binding() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
set-environment -g TMUX_PLUGIN_MANAGER_PATH '$CUSTOM_PLUGINS_DIR'
|
||||
|
||||
set -g @plugin "tmux-plugins/tmux-example-plugin"
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
"$CURRENT_DIR/expect_successful_plugin_download" ||
|
||||
fail_helper "[key-binding][custom dir] plugin installation fails"
|
||||
|
||||
check_dir_exists_helper "$CUSTOM_PLUGINS_DIR/tmux-example-plugin/" ||
|
||||
fail_helper "[key-binding][custom dir] plugin download fails"
|
||||
|
||||
teardown_helper
|
||||
rm -rf "$CUSTOM_PLUGINS_DIR"
|
||||
}
|
||||
|
||||
test_non_existing_plugin_installation_via_tmux_key_binding() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
set -g @plugin "tmux-plugins/non-existing-plugin"
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
"$CURRENT_DIR/expect_failed_plugin_download" ||
|
||||
fail_helper "[key-binding] non existing plugin installation doesn't fail"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
test_multiple_plugins_installation_via_tmux_key_binding() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
set -g @plugin "tmux-plugins/tmux-example-plugin"
|
||||
\ \ set -g @plugin 'tmux-plugins/tmux-copycat'
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
"$CURRENT_DIR/expect_successful_multiple_plugins_download" ||
|
||||
fail_helper "[key-binding] multiple plugins installation fails"
|
||||
|
||||
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
|
||||
fail_helper "[key-binding] plugin download fails (tmux-example-plugin)"
|
||||
|
||||
check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
|
||||
fail_helper "[key-binding] plugin download fails (tmux-copycat)"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
test_plugins_installation_from_sourced_file_via_tmux_key_binding() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
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
|
||||
set -g mode-keys vi
|
||||
\ \ 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() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
set -g @plugin "tmux-plugins/tmux-example-plugin"
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' ||
|
||||
fail_helper "[script] plugin installation fails"
|
||||
|
||||
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
|
||||
fail_helper "[script] plugin download fails"
|
||||
|
||||
script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-example-plugin"' ||
|
||||
fail_helper "[script] plugin already installed message fail"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
test_plugin_installation_custom_dir_via_script() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
set-environment -g TMUX_PLUGIN_MANAGER_PATH '$CUSTOM_PLUGINS_DIR'
|
||||
|
||||
set -g @plugin "tmux-plugins/tmux-example-plugin"
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' ||
|
||||
fail_helper "[script][custom dir] plugin installation fails"
|
||||
|
||||
check_dir_exists_helper "$CUSTOM_PLUGINS_DIR/tmux-example-plugin/" ||
|
||||
fail_helper "[script][custom dir] plugin download fails"
|
||||
|
||||
script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-example-plugin"' ||
|
||||
fail_helper "[script][custom dir] plugin already installed message fail"
|
||||
|
||||
teardown_helper
|
||||
rm -rf "$CUSTOM_PLUGINS_DIR"
|
||||
}
|
||||
|
||||
test_non_existing_plugin_installation_via_script() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
set -g @plugin "tmux-plugins/non-existing-plugin"
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
local expected_exit_code=1
|
||||
script_run_helper "$TPM_DIR/bin/install_plugins" '"non-existing-plugin" download fail' "$expected_exit_code" ||
|
||||
fail_helper "[script] non existing plugin installation doesn't fail"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
test_multiple_plugins_installation_via_script() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
set -g @plugin "tmux-plugins/tmux-example-plugin"
|
||||
\ \ set -g @plugin 'tmux-plugins/tmux-copycat'
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' ||
|
||||
fail_helper "[script] multiple plugins installation fails"
|
||||
|
||||
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
|
||||
fail_helper "[script] plugin download fails (tmux-example-plugin)"
|
||||
|
||||
check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
|
||||
fail_helper "[script] plugin download fails (tmux-copycat)"
|
||||
|
||||
script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-copycat"' ||
|
||||
fail_helper "[script] multiple plugins already installed message fail"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
test_plugins_installation_from_sourced_file_via_script() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
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
|
||||
set -g mode-keys vi
|
||||
\ \ 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
|
@@ -0,0 +1,100 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
PLUGINS_DIR="$HOME/.tmux/plugins"
|
||||
TPM_DIR="$PWD"
|
||||
|
||||
source "$CURRENT_DIR/helpers/helpers.sh"
|
||||
source "$CURRENT_DIR/helpers/tpm.sh"
|
||||
|
||||
# TMUX KEY-BINDING TESTS
|
||||
|
||||
test_plugin_installation_via_tmux_key_binding() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
set -g @tpm_plugins "tmux-plugins/tmux-example-plugin"
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
# opens tmux and test it with `expect`
|
||||
$CURRENT_DIR/expect_successful_plugin_download ||
|
||||
fail_helper "[key-binding] plugin installation fails"
|
||||
|
||||
# check plugin dir exists after download
|
||||
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
|
||||
fail_helper "[key-binding] plugin download fails"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
test_legacy_and_new_syntax_for_plugin_installation_work_via_tmux_key_binding() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
set -g @tpm_plugins " \
|
||||
tmux-plugins/tmux-example-plugin \
|
||||
"
|
||||
set -g @plugin 'tmux-plugins/tmux-copycat'
|
||||
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"
|
||||
|
||||
# check plugin dir exists after download
|
||||
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
|
||||
fail_helper "[key-binding] plugin download fails (tmux-example-plugin)"
|
||||
|
||||
check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
|
||||
fail_helper "[key-binding] plugin download fails (tmux-copycat)"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
# SCRIPT TESTS
|
||||
|
||||
test_plugin_installation_via_script() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
set -g @tpm_plugins "tmux-plugins/tmux-example-plugin"
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' ||
|
||||
fail_helper "[script] plugin installation fails"
|
||||
|
||||
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
|
||||
fail_helper "[script] plugin download fails"
|
||||
|
||||
script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-example-plugin"' ||
|
||||
fail_helper "[script] plugin already installed message fail"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
test_legacy_and_new_syntax_for_plugin_installation_work_via_script() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
set -g @tpm_plugins " \
|
||||
tmux-plugins/tmux-example-plugin \
|
||||
"
|
||||
set -g @plugin 'tmux-plugins/tmux-copycat'
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' ||
|
||||
fail_helper "[script] multiple plugin installation fails"
|
||||
|
||||
check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
|
||||
fail_helper "[script] plugin download fails (tmux-example-plugin)"
|
||||
|
||||
check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
|
||||
fail_helper "[script] plugin download fails (tmux-copycat)"
|
||||
|
||||
script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-copycat"' ||
|
||||
fail_helper "[script] multiple plugins already installed message fail"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
run_tests
|
@@ -0,0 +1,78 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
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"
|
||||
|
||||
check_binding_defined() {
|
||||
local binding="$1"
|
||||
tmux list-keys | grep -q "$binding"
|
||||
}
|
||||
|
||||
create_test_plugin_helper() {
|
||||
local plugin_path="$PLUGINS_DIR/tmux_test_plugin/"
|
||||
rm -rf "$plugin_path"
|
||||
mkdir -p "$plugin_path"
|
||||
|
||||
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 mode-keys vi
|
||||
set -g @plugin "doesnt_matter/tmux_test_plugin"
|
||||
run-shell "$TPM_DIR/tpm"
|
||||
HERE
|
||||
|
||||
# manually creates a local tmux plugin
|
||||
create_test_plugin_helper <<- HERE
|
||||
tmux bind-key R run-shell foo_command
|
||||
HERE
|
||||
|
||||
tmux new-session -d # tmux starts detached
|
||||
check_binding_defined "R run-shell foo_command" ||
|
||||
fail_helper "Plugin sourcing fails"
|
||||
|
||||
teardown_helper
|
||||
}
|
||||
|
||||
test_default_tpm_path() {
|
||||
set_tmux_conf_helper <<- HERE
|
||||
set -g mode-keys vi
|
||||
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 -g mode-keys vi
|
||||
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
|
60
dot_tmux/plugins/tpm/tests/executable_test_plugin_update.sh
Normal file
60
dot_tmux/plugins/tpm/tests/executable_test_plugin_update.sh
Normal file
@@ -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
|
13
dot_tmux/plugins/tpm/tests/helpers/tpm.sh
Normal file
13
dot_tmux/plugins/tpm/tests/helpers/tpm.sh
Normal file
@@ -0,0 +1,13 @@
|
||||
check_dir_exists_helper() {
|
||||
[ -d "$1" ]
|
||||
}
|
||||
|
||||
# runs the scripts and asserts it has the correct output and exit code
|
||||
script_run_helper() {
|
||||
local script="$1"
|
||||
local expected_output="$2"
|
||||
local expected_exit_code="${3:-0}"
|
||||
$script 2>&1 |
|
||||
grep "$expected_output" >/dev/null 2>&1 && # grep -q flag quits the script early
|
||||
[ "${PIPESTATUS[0]}" -eq "$expected_exit_code" ]
|
||||
}
|
Reference in New Issue
Block a user