69 lines
1.3 KiB
Bash
69 lines
1.3 KiB
Bash
|
# This file is a symlink from 'tmux-test' plugin.
|
||
|
# You probably don't want to edit it.
|
||
|
|
||
|
|
||
|
# Global variable that keeps the value of test status (success/fail).
|
||
|
# Suggested usage is via `fail_helper` and `exit_helper` functions.
|
||
|
TEST_STATUS="success"
|
||
|
|
||
|
# PRIVATE FUNCTIONS
|
||
|
|
||
|
_clone_the_plugin() {
|
||
|
local plugin_path="${HOME}/.tmux/plugins/tmux-plugin-under-test/"
|
||
|
rm -rf "$plugin_path"
|
||
|
git clone --recursive "${CURRENT_DIR}/../" "$plugin_path" >/dev/null 2>&1
|
||
|
}
|
||
|
|
||
|
_add_plugin_to_tmux_conf() {
|
||
|
set_tmux_conf_helper<<-HERE
|
||
|
run-shell '~/.tmux/plugins/tmux-plugin-under-test/*.tmux'
|
||
|
HERE
|
||
|
}
|
||
|
|
||
|
# PUBLIC HELPER FUNCTIONS
|
||
|
|
||
|
teardown_helper() {
|
||
|
rm -f ~/.tmux.conf
|
||
|
rm -rf ~/.tmux/
|
||
|
tmux kill-server >/dev/null 2>&1
|
||
|
}
|
||
|
|
||
|
set_tmux_conf_helper() {
|
||
|
> ~/.tmux.conf # empty tmux.conf file
|
||
|
while read line; do
|
||
|
echo "$line" >> ~/.tmux.conf
|
||
|
done
|
||
|
}
|
||
|
|
||
|
fail_helper() {
|
||
|
local message="$1"
|
||
|
echo "$message" >&2
|
||
|
TEST_STATUS="fail"
|
||
|
}
|
||
|
|
||
|
exit_helper() {
|
||
|
teardown_helper
|
||
|
if [ "$TEST_STATUS" == "fail" ]; then
|
||
|
echo "FAIL!"
|
||
|
echo
|
||
|
exit 1
|
||
|
else
|
||
|
echo "SUCCESS"
|
||
|
echo
|
||
|
exit 0
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
install_tmux_plugin_under_test_helper() {
|
||
|
_clone_the_plugin
|
||
|
_add_plugin_to_tmux_conf
|
||
|
}
|
||
|
|
||
|
run_tests() {
|
||
|
# get all the functions starting with 'test_' and invoke them
|
||
|
for test in $(compgen -A function | grep "^test_"); do
|
||
|
"$test"
|
||
|
done
|
||
|
exit_helper
|
||
|
}
|