diff --git a/tests/linux/README.md b/tests/linux/README.md index 65361ef..fe1095b 100644 --- a/tests/linux/README.md +++ b/tests/linux/README.md @@ -1,6 +1,6 @@ # Linux tests -Those test is meant to run on linux +Those tests are meant to run on linux: - ubuntu 20.04 LTS -- bash +- with bash diff --git a/tests/linux/test_default_start_set_gruvbox_dark256.sh b/tests/linux/test_check_gruvbox_dark256_enabled.sh similarity index 73% rename from tests/linux/test_default_start_set_gruvbox_dark256.sh rename to tests/linux/test_check_gruvbox_dark256_enabled.sh index eb68479..5cf29b1 100755 --- a/tests/linux/test_default_start_set_gruvbox_dark256.sh +++ b/tests/linux/test_check_gruvbox_dark256_enabled.sh @@ -15,7 +15,7 @@ set -g @plugin 'tmux-plugins/tmux-sensible' # Other plugins set -g @plugin 'egel/tmux-gruvbox' -set -g @tmux-gruvbox 'dark' +set -g @tmux-gruvbox 'dark256' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm' @@ -31,16 +31,22 @@ EOF # start new detached session tmux new -d - # default value of status-left section from gruvbox theme + # check if left side match _status_left_expected="#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]" - - # get status of something from theme _status_left_current=$(tmux show-option -gqv status-left) if [[ "$_status_left_current" != "$_status_left_expected" ]]; then helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected" helper_teardown exit 1 fi + # check if status is not transparent + _status_style_expected="bg=colour237,fg=colour223" + _status_style_current=$(tmux show-option -gqv status-style) + if [[ "$_status_style_current" != "$_status_style_expected" ]]; then + helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected" + helper_teardown + exit 1 + fi helper_print_success "status-left match" helper_teardown diff --git a/tests/linux/test_check_gruvbox_dark_transparent_enabled.sh b/tests/linux/test_check_gruvbox_dark_transparent_enabled.sh new file mode 100755 index 0000000..a1008d5 --- /dev/null +++ b/tests/linux/test_check_gruvbox_dark_transparent_enabled.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +# shellcheck disable=SC1091 +source "${CURRENT_DIR}/../tmux_helpers.sh" + +main() { + helper_tearup_linux + + cat <~/.tmux.conf +# List of plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-sensible' + +# Other plugins +set -g @plugin 'egel/tmux-gruvbox' +set -g @tmux-gruvbox 'dark-transparent' + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run '~/.tmux/plugins/tpm/tpm' +EOF + + cat ~/.tmux.conf + + # it's essential to link current repo to the plugins' directory + ln -sfv "$CURRENT_DIR/../../../tmux-gruvbox" "${HOME}/.tmux/plugins/tmux-gruvbox" + + helper_install_tpm_plugins + + # start new detached session + tmux new -d + + # check if left side match + _status_left_expected="#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]" + _status_left_current=$(tmux show-option -gqv status-left) + if [[ "$_status_left_current" != "$_status_left_expected" ]]; then + helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected" + helper_teardown + exit 1 + fi + # check if status is not transparent + _status_style_expected="bg=default,fg=colour223" + _status_style_current=$(tmux show-option -gqv status-style) + if [[ "$_status_style_current" != "$_status_style_expected" ]]; then + helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected" + helper_teardown + exit 1 + fi + + helper_print_success "status-left match" + helper_teardown + exit 0 + +} + +main "$@" diff --git a/tests/linux/test_gruvbox_light256_theme_enabled.sh b/tests/linux/test_check_gruvbox_light256_enabled.sh similarity index 71% rename from tests/linux/test_gruvbox_light256_theme_enabled.sh rename to tests/linux/test_check_gruvbox_light256_enabled.sh index 3a62099..b6d10d9 100755 --- a/tests/linux/test_gruvbox_light256_theme_enabled.sh +++ b/tests/linux/test_check_gruvbox_light256_enabled.sh @@ -31,16 +31,22 @@ EOF # start new detached session tmux new -d - # default value of status-left section from gruvbox theme + # check if left side match _status_left_expected="#[bg=colour243,fg=colour255] #S #[bg=colour252,fg=colour243,nobold,noitalics,nounderscore]" - - # get status of something from theme _status_left_current=$(tmux show-option -gqv status-left) - if [[ "$_status_left_expected" != "$_status_left_current" ]]; then + if [[ "$_status_left_current" != "$_status_left_expected" ]]; then helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected" helper_teardown exit 1 fi + # check if status is not transparent + _status_style_expected="bg=colour243,fg=colour255" + _status_style_current=$(tmux show-option -gqv status-style) + if [[ "$_status_style_current" != "$_status_style_expected" ]]; then + helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected" + helper_teardown + exit 1 + fi helper_print_success "status-left match" helper_teardown diff --git a/tests/linux/test_check_gruvbox_light_transparent_enabled.sh b/tests/linux/test_check_gruvbox_light_transparent_enabled.sh new file mode 100755 index 0000000..181f7a4 --- /dev/null +++ b/tests/linux/test_check_gruvbox_light_transparent_enabled.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +# shellcheck disable=SC1091 +source "${CURRENT_DIR}/../tmux_helpers.sh" + +main() { + helper_tearup_linux + + cat <~/.tmux.conf +# List of plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-sensible' + +# Other plugins +set -g @plugin 'egel/tmux-gruvbox' +set -g @tmux-gruvbox 'light-transparent' + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run '~/.tmux/plugins/tpm/tpm' +EOF + + cat ~/.tmux.conf + + # it's essential to link current repo to the plugins' directory + ln -sfv "$CURRENT_DIR/../../../tmux-gruvbox" "${HOME}/.tmux/plugins/tmux-gruvbox" + + helper_install_tpm_plugins + + # start new detached session + tmux new -d + + # check if left side match + _status_left_expected="#[bg=colour243,fg=colour255] #S #[bg=colour252,fg=colour243,nobold,noitalics,nounderscore]" + _status_left_current=$(tmux show-option -gqv status-left) + if [[ "$_status_left_current" != "$_status_left_expected" ]]; then + helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected" + helper_teardown + exit 1 + fi + # check if status is not transparent + _status_style_expected="bg=default,fg=colour255" + _status_style_current=$(tmux show-option -gqv status-style) + if [[ "$_status_style_current" != "$_status_style_expected" ]]; then + helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected" + helper_teardown + exit 1 + fi + + helper_print_success "status-left match" + helper_teardown + exit 0 + +} + +main "$@" diff --git a/tests/linux/test_without_theme_fallback_to_gruvbox_dark256.sh b/tests/linux/test_without_theme_fallback_to_gruvbox_dark256.sh new file mode 100755 index 0000000..0022de5 --- /dev/null +++ b/tests/linux/test_without_theme_fallback_to_gruvbox_dark256.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +# shellcheck disable=SC1091 +source "${CURRENT_DIR}/../tmux_helpers.sh" + +#### +# Test: when the theme is not defined in config it should fallback to 'dark256' +# +main() { + helper_tearup_linux + + # set config without theme defined + cat <~/.tmux.conf +# List of plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-sensible' + +# Other plugins +set -g @plugin 'egel/tmux-gruvbox' + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run '~/.tmux/plugins/tpm/tpm' +EOF + + cat ~/.tmux.conf + + # it's essential to link current repo to the plugins' directory + ln -sfv "$CURRENT_DIR/../../../tmux-gruvbox" "${HOME}/.tmux/plugins/tmux-gruvbox" + + helper_install_tpm_plugins + + # start new detached session + tmux new -d + + # check if left side match + _status_left_expected="#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]" + _status_left_current=$(tmux show-option -gqv status-left) + if [[ "$_status_left_current" != "$_status_left_expected" ]]; then + helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected" + helper_teardown + exit 1 + fi + # check if status is not transparent + _status_style_expected="bg=colour237,fg=colour223" + _status_style_current=$(tmux show-option -gqv status-style) + if [[ "$_status_style_current" != "$_status_style_expected" ]]; then + helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected" + helper_teardown + exit 1 + fi + + helper_print_success "status-left match" + helper_teardown + exit 0 +} + +main "$@" diff --git a/tests/run_all_linux_tests.sh b/tests/run_all_linux_tests.sh index 85a9c25..6660d34 100755 --- a/tests/run_all_linux_tests.sh +++ b/tests/run_all_linux_tests.sh @@ -9,6 +9,7 @@ main() { _countFailures=0 _files=$(find "$CURRENT_DIR/linux" -name "test_*" -type f) for test in $_files; do + printf "" printf "\n==============================================" printf "\n %s" "$test" printf "\n=============================================="