mirror of
https://github.com/tmux/tmux.git
synced 2026-02-09 04:48:47 +00:00
53 lines
1.5 KiB
Bash
53 lines
1.5 KiB
Bash
#!/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
|