From 08acea3bf4db4e7815d011152bcd29a4e4dd6f4b Mon Sep 17 00:00:00 2001 From: Ethan P Date: Mon, 23 Dec 2019 17:45:58 -0800 Subject: [PATCH] Add test for pager lib --- test/tests/lib.pager.sh | 73 +++++++++++++++++++++++++++++++++++ test/tests/lib.pager.snapshot | 35 +++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 test/tests/lib.pager.sh create mode 100644 test/tests/lib.pager.snapshot diff --git a/test/tests/lib.pager.sh b/test/tests/lib.pager.sh new file mode 100644 index 0000000..73e84a4 --- /dev/null +++ b/test/tests/lib.pager.sh @@ -0,0 +1,73 @@ +pager_info() { + source "${DIR_LIB}/pager.sh" + printf "\n" + printf "PAGER=%q\n" "$PAGER" + printf "BAT_PAGER=%q\n" "$BAT_PAGER" + + printf "SCRIPT_PAGER_CMD=(" + if [[ "${#SCRIPT_PAGER_CMD[@]}" -gt 0 ]]; then + printf "%q" "${SCRIPT_PAGER_CMD[0]}" + if [[ "${#SCRIPT_PAGER_CMD[@]}" -gt 1 ]]; then + printf " %q" "${SCRIPT_PAGER_CMD[@]:1}" + fi + fi + printf ")\n" + + printf "SCRIPT_PAGER_ARGS=(" + if [[ "${#SCRIPT_PAGER_ARGS[@]}" -gt 0 ]]; then + printf "%q" "${SCRIPT_PAGER_ARGS[0]}" + if [[ "${#SCRIPT_PAGER_ARGS[@]}" -gt 1 ]]; then + printf " %q" "${SCRIPT_PAGER_ARGS[@]:1}" + fi + fi + printf ")\n" +} + +pager_test() { + if [[ "$1" = "TTY" ]]; then + script -q /dev/null bash "${BASH_SOURCE[0]}" --execute + elif [[ "$1" = "FILE" ]]; then + bash "${BASH_SOURCE[0]}" --execute | cat + fi +} + +if [[ "$1" = "--execute" ]]; then + pager_info + exit +fi + +# First test. +unset PAGER +unset BAT_PAGER +pager_test TTY + +# Second test. +unset PAGER +export BAT_PAGER='less' +pager_test TTY + +# Third test. +unset PAGER +export BAT_PAGER='less -R -F' +pager_test TTY + +# Forth test. +export PAGER='less' +unset BAT_PAGER +pager_test TTY + +# Fifth test. +export PAGER='less -R -F' +unset BAT_PAGER +pager_test TTY + +# Sixth test. +export PAGER='less -R -F' +export BAT_PAGER='more' +pager_test TTY + +# Final test. +export PAGER='less -R -F' +export BAT_PAGER='more' +pager_test FILE + diff --git a/test/tests/lib.pager.snapshot b/test/tests/lib.pager.snapshot new file mode 100644 index 0000000..8718b7a --- /dev/null +++ b/test/tests/lib.pager.snapshot @@ -0,0 +1,35 @@ + +PAGER='' +BAT_PAGER='' +SCRIPT_PAGER_CMD=('') +SCRIPT_PAGER_ARGS=() + +PAGER='' +BAT_PAGER=less +SCRIPT_PAGER_CMD=(less) +SCRIPT_PAGER_ARGS=() + +PAGER='' +BAT_PAGER=less\ -R\ -F +SCRIPT_PAGER_CMD=(less -R -F) +SCRIPT_PAGER_ARGS=() + +PAGER=less +BAT_PAGER='' +SCRIPT_PAGER_CMD=(less) +SCRIPT_PAGER_ARGS=(-R) + +PAGER=less\ -R\ -F +BAT_PAGER='' +SCRIPT_PAGER_CMD=(less\ -R\ -F) +SCRIPT_PAGER_ARGS=() + +PAGER=less\ -R\ -F +BAT_PAGER=more +SCRIPT_PAGER_CMD=(more) +SCRIPT_PAGER_ARGS=() + +PAGER=less\ -R\ -F +BAT_PAGER=more +SCRIPT_PAGER_CMD=() +SCRIPT_PAGER_ARGS=()