Skip to content

Commit

Permalink
feat: add new test for check setup of light256 theme
Browse files Browse the repository at this point in the history
  • Loading branch information
egel committed Sep 21, 2024
1 parent 9a3d379 commit 05eb9d1
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 25 deletions.
18 changes: 9 additions & 9 deletions .github/workflows/dev-push-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,30 @@ jobs:
lint_shellcheck:
runs-on: ubuntu-latest
steps:
- name: install shellcheck
- name: Install shellcheck
run: sudo apt-get install -y shellcheck
- name: checkout repo
- name: Checkout repo
uses: actions/checkout@main
- name: lint files against shellcheck
- name: Lint files against shellcheck
run: make lint_shellcheck
lint_shfmt:
runs-on: ubuntu-latest
steps:
- name: install shfmt
- name: Install shfmt
run: sudo apt-get install -y shfmt
- name: checkout repo
- name: Checkout repository
uses: actions/checkout@main
- name: lint files against shfmt
- name: Lint files against shfmt
run: make lint_shfmt
test_setup_linux:
runs-on: ubuntu-latest
needs:
- lint_shfmt
- lint_shellcheck
steps:
- name: install soft
- name: Install required software
run: sudo apt install -y tmux git
- name: checkout repo
- name: Checkout repository
uses: actions/checkout@main
- name: run all linux tests
- name: Execute all linux tests and check results
run: ./tests/run_all_linux_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck disable=SC1091
source "${CURRENT_DIR}/../tmux_helpers.sh"

# default value of status-left section from gruvbox theme
readonly STATUS_LEFT_DEFAULT="#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"

main() {
helper_tearup_linux

Expand All @@ -26,27 +23,29 @@ EOF

cat ~/.tmux.conf

echo "Current DIR: $CURRENT_DIR"

# link current repo to plugin list
# it's essential to link current repo to the plugins' directory
ln -sfv "$CURRENT_DIR/../../../tmux-gruvbox" "${HOME}/.tmux/plugins/tmux-gruvbox"

ls -al ~/.tmux/plugins/

helper_install_tpm_plugins

# start new detached session
tmux new -d

# default value of status-left section from gruvbox theme
_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_DEFAULT" != "$_status_left_current" ]]; then
helper_print_fail_and_exit "status-left did not match" # fail fast
else
helper_print_success "status-left match"
if [[ "$_status_left_current" != "$_status_left_expected" ]]; then
helper_print_fail "status-left did not match"
helper_teardown
exit 1
fi

helper_print_success "status-left match"
helper_teardown
exit 0

}

main "$@"
51 changes: 51 additions & 0 deletions tests/linux/test_gruvbox_light256_theme_enabled.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/bash

CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

# shellcheck disable=SC1091
source "${CURRENT_DIR}/../tmux_helpers.sh"

main() {
helper_tearup_linux

cat <<EOF >~/.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 'light256'
# 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

# default value of status-left section from gruvbox theme
_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
helper_print_fail "status-left did not match"
helper_teardown
exit 1
fi

helper_print_success "status-left match"
helper_teardown
exit 0

}

main "$@"
5 changes: 4 additions & 1 deletion tests/run_all_linux_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,11 @@ main() {
declare -i _countFailures
local _files
_countFailures=0
_files=$(find "$CURRENT_DIR" -name "test_linux_*" -type f)
_files=$(find "$CURRENT_DIR/linux" -name "test_*" -type f)
for test in $_files; do
printf "\n=============================================="
printf "\n %s" "$test"
printf "\n=============================================="
bash -c "$test"

# run all and count failures
Expand Down
10 changes: 7 additions & 3 deletions tests/tmux_helpers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,12 @@ helper_tearup_linux() {
}

helper_print_fail() {
local _msg="${1:-}"
local _msg="${1}"
local _current_val="${2}"
local _expected_val="${3}"
printf "FAIL. %s\n" "${_msg}"
printf "current value:\t%s" "$_current_val"
printf "expected value:\t%s" "$_expected_val"
}

helper_print_success() {
Expand All @@ -34,12 +38,12 @@ helper_print_success() {
}

helper_print_fail_and_exit() {
helper_print_fail "$1"
helper_print_fail "$1" "$2" "$3"
exit 1
}

helper_print_success_and_exit() {
helper_print_success "$1"
helper_print_success "$1" "$2" "$3"
exit 0
}

Expand Down

0 comments on commit 05eb9d1

Please sign in to comment.