Some more tests.

This commit is contained in:
Nicholas Marriott
2026-06-19 18:47:14 +01:00
parent 43f2ecb030
commit 8f9dd5f274
7 changed files with 85 additions and 0 deletions

View File

@@ -144,4 +144,19 @@ compare cache-window-b
$TMUX2 selectw -t$A || exit 1
compare cache-window-a-again
# --- Size change: the client (and so the scene) is resized. ---
# With window-size latest the inner window tracks the client size, so resizing
# the outer window resizes the inner client and the scene. The cached scene must
# be rebuilt at the new size (the scene->sx/sy mismatch path in
# redraw_get_scene), not drawn at the old size.
$TMUX2 set -g window-size latest || exit 1
$TMUX2 neww -d "sh -c 'exec sleep 100'" || exit 1
$TMUX2 selectw -t:\$ || exit 1
$TMUX2 splitw -v "$C" || exit 1
compare cache-resizeclient-before
$TMUX resizew -x30 -y10 || exit 1
compare cache-resizeclient-after
exit 0

View File

@@ -171,4 +171,15 @@ $TMUX2 set status-format[0] "" || exit 1
$TMUX2 new-pane -x20 -y6 -X8 -Y7 "sh -c 'printf OVERST; exec sleep 100'" || exit 1
compare floating-over-status
# A window left with only a floating pane: killing the single tiled pane removes
# it from the layout, so the area it occupied is no longer owned by any pane and
# is drawn as EMPTY cells (middle dots) around the float. This is the only way to
# produce a REDRAW_SPAN_EMPTY span.
new_scene 40 12
$TMUX2 new-pane -x20 -y6 -X8 -Y3 "sh -c 'printf FLOAT; exec sleep 100'" || exit 1
tiled=$($TMUX2 list-panes -F '#{pane_floating_flag} #{pane_id}' | \
awk '$1==0{print $2; exit}') || exit 1
$TMUX2 kill-pane -t "$tiled" || exit 1
compare floating-empty
exit 0

View File

@@ -0,0 +1,10 @@
──────────────────────────────

View File

@@ -0,0 +1,14 @@
────────────────────────────────────────

View File

@@ -0,0 +1,12 @@
········································
········································
·······┌────────────────────┐···········
·······│FLOAT │···········
·······│ │···········
·······│ │···········
·······│ │···········
·······│ │···········
·······│ │···········
·······└────────────────────┘···········
········································

View File

@@ -0,0 +1,14 @@

View File

@@ -177,4 +177,13 @@ $TMUX2 setw pane-border-status top || exit 1
title_all p
compare pane-status-2x2-top
# A zoomed pane: the active pane fills the whole window and the other panes and
# their borders are not drawn at all (a single full-window pane scene).
new_scene
$TMUX2 splitw -h "$C" || exit 1
$TMUX2 splitw -v "$C" || exit 1
$TMUX2 selectp -t0 || exit 1
$TMUX2 resize-pane -Z || exit 1
compare zoomed-pane
exit 0