From 8f7cf1fdef1c890fa60809d2377890a0e7d32858 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Mon, 12 Oct 2026 11:40:17 +0100 Subject: [PATCH] Add ncv test. --- regress/ncv.sh | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 regress/ncv.sh diff --git a/regress/ncv.sh b/regress/ncv.sh new file mode 100644 index 000000000..c1aafeee7 --- /dev/null +++ b/regress/ncv.sh @@ -0,0 +1,48 @@ +#!/bin/sh + +# Check that attributes listed in ncv are not used with colours. + +PATH=/bin:/usr/bin +TERM=screen +LC_ALL=C.UTF-8 +export TERM LC_ALL + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -LtestA$$ -f/dev/null" +TMUX2="$TEST_TMUX -LtestB$$ -f/dev/null" + +fail() { + echo "$*" >&2 + exit 1 +} + +$TMUX kill-server 2>/dev/null +$TMUX2 kill-server 2>/dev/null + +TMP=$(mktemp) +trap "rm -f $TMP; $TMUX kill-server 2>/dev/null; $TMUX2 kill-server 2>/dev/null" 0 1 15 + +$TMUX2 new -d -x20 -y5 \ + "printf '\033[2;4mPLAIN\033[0m'; exec sleep 100" || exit 1 +$TMUX2 set -g status-left '' || exit 1 +$TMUX2 set -g status-right '' || exit 1 +$TMUX2 set -g status-format[0] \ + '#[fg=black,bg=green,underscore,dim]MARK' || exit 1 +$TMUX2 set -as terminal-overrides ',screen:ncv=18' || exit 1 + +$TMUX new -d -x20 -y5 || exit 1 +$TMUX set -g status off || exit 1 +$TMUX send -l "$TMUX2 attach" || exit 1 +$TMUX send Enter || exit 1 +sleep 1 + +$TMUX capturep -pe >$TMP || exit 1 +ESC=$(printf '\033') +grep -q "${ESC}\\[30m${ESC}\\[42mMARK" $TMP || + fail "coloured status text missing" +grep -q "${ESC}\\[2;4mPLAIN" $TMP || + fail "attributes without colours were filtered" +tail -1 $TMP | grep -q "${ESC}\\[4m" && fail "underline not filtered" +tail -1 $TMP | grep -q "${ESC}\\[2m" && fail "dim not filtered" + +exit 0