mirror of
https://github.com/tmux/tmux.git
synced 2026-02-08 12:37:20 +00:00
Add a regression test from Ilya Grigoriev.
This commit is contained in:
52
regress/border-arrows.sh
Normal file
52
regress/border-arrows.sh
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Test for GitHub issue #4780 - pane-border-indicators both arrows missing
|
||||
# on second pane in a two-pane horizontal split.
|
||||
#
|
||||
# When pane-border-indicators is set to "both", arrow indicators should
|
||||
# appear when EITHER pane is selected. Before the fix, arrows only appeared
|
||||
# when the LEFT pane was selected.
|
||||
|
||||
PATH=/bin:/usr/bin
|
||||
TERM=screen
|
||||
|
||||
[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux)
|
||||
TMUX="$TEST_TMUX -Ltest"
|
||||
$TMUX kill-server 2>/dev/null
|
||||
TMUX_OUTER="$TEST_TMUX -Ltest2"
|
||||
$TMUX_OUTER kill-server 2>/dev/null
|
||||
|
||||
trap "$TMUX kill-server 2>/dev/null; $TMUX_OUTER kill-server 2>/dev/null" 0 1 15
|
||||
|
||||
# Start outer tmux that will capture the inner tmux's rendering
|
||||
$TMUX_OUTER -f/dev/null new -d -x80 -y24 "$TMUX -f/dev/null new -x78 -y22" || exit 1
|
||||
sleep 1
|
||||
|
||||
# Set pane-border-indicators to "both" in inner tmux
|
||||
$TMUX set -g pane-border-indicators both || exit 1
|
||||
|
||||
# Create horizontal split (two panes side by side)
|
||||
$TMUX splitw -h || exit 1
|
||||
sleep 1
|
||||
|
||||
# Helper to check for arrow characters in captured output
|
||||
has_arrow() {
|
||||
echo "$1" | grep -qE '(←|→|↑|↓)'
|
||||
}
|
||||
|
||||
# Test 1: Select left pane (pane 0) and check for arrows
|
||||
$TMUX selectp -t 0
|
||||
sleep 1
|
||||
left_output=$($TMUX_OUTER capturep -Cep 2>/dev/null)
|
||||
has_arrow "$left_output" || exit 1
|
||||
|
||||
# Test 2: Select right pane (pane 1) and check for arrows
|
||||
# This is the case that failed before the fix
|
||||
$TMUX selectp -t 1
|
||||
sleep 1
|
||||
right_output=$($TMUX_OUTER capturep -Cep 2>/dev/null)
|
||||
has_arrow "$right_output" || exit 1
|
||||
|
||||
$TMUX kill-server 2>/dev/null
|
||||
$TMUX_OUTER kill-server 2>/dev/null
|
||||
exit 0
|
||||
Reference in New Issue
Block a user