Skip to content

Commit de06475

Browse files
committed
tests({Pane,Window}.split_window): Add tests for zoom
1 parent cadf559 commit de06475

File tree

2 files changed

+58
-2
lines changed

2 files changed

+58
-2
lines changed

tests/test_pane.py

+31-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import pytest
77

8-
from libtmux.common import has_gte_version, has_lt_version
8+
from libtmux.common import has_gte_version, has_lt_version, has_lte_version
99
from libtmux.constants import PaneDirection, ResizeAdjustmentDirection
1010
from libtmux.session import Session
1111

@@ -133,6 +133,36 @@ def test_capture_pane_end(session: Session) -> None:
133133
assert pane_contents == '$ printf "%s"\n$'
134134

135135

136+
@pytest.mark.skipif(
137+
has_lte_version("3.1"),
138+
reason="3.2 has the -Z flag on split-window",
139+
)
140+
def test_pane_split_window_zoom(
141+
session: Session,
142+
) -> None:
143+
"""Verify splitting window with zoom."""
144+
window_without_zoom = session.new_window(window_name="split_without_zoom")
145+
initial_pane_without_zoom = window_without_zoom.active_pane
146+
assert initial_pane_without_zoom is not None
147+
window_with_zoom = session.new_window(window_name="split_with_zoom")
148+
initial_pane_with_zoom = window_with_zoom.active_pane
149+
assert initial_pane_with_zoom is not None
150+
pane_without_zoom = initial_pane_without_zoom.split(
151+
zoom=False,
152+
)
153+
pane_with_zoom = initial_pane_with_zoom.split(
154+
zoom=True,
155+
)
156+
157+
assert pane_without_zoom.width == pane_without_zoom.window_width
158+
assert pane_without_zoom.height is not None
159+
assert pane_without_zoom.window_height is not None
160+
assert pane_without_zoom.height < pane_without_zoom.window_height
161+
162+
assert pane_with_zoom.width == pane_with_zoom.window_width
163+
assert pane_with_zoom.height == pane_with_zoom.window_height
164+
165+
136166
@pytest.mark.skipif(
137167
has_lt_version("2.9"),
138168
reason="resize-window only exists in tmux 2.9+",

tests/test_window.py

+27-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from libtmux import exc
1111
from libtmux._internal.query_list import ObjectDoesNotExist
12-
from libtmux.common import has_gte_version, has_lt_version
12+
from libtmux.common import has_gte_version, has_lt_version, has_lte_version
1313
from libtmux.constants import (
1414
PaneDirection,
1515
ResizeAdjustmentDirection,
@@ -413,6 +413,32 @@ def test_split_with_environment(
413413
assert pane.capture_pane()[-2] == v
414414

415415

416+
@pytest.mark.skipif(
417+
has_lte_version("3.1"),
418+
reason="3.2 has the -Z flag on split-window",
419+
)
420+
def test_split_window_zoom(
421+
session: Session,
422+
) -> None:
423+
"""Verify splitting window with zoom."""
424+
window_without_zoom = session.new_window(window_name="split_without_zoom")
425+
window_with_zoom = session.new_window(window_name="split_with_zoom")
426+
pane_without_zoom = window_without_zoom.split(
427+
zoom=False,
428+
)
429+
pane_with_zoom = window_with_zoom.split(
430+
zoom=True,
431+
)
432+
433+
assert pane_without_zoom.width == pane_without_zoom.window_width
434+
assert pane_without_zoom.height is not None
435+
assert pane_without_zoom.window_height is not None
436+
assert pane_without_zoom.height < pane_without_zoom.window_height
437+
438+
assert pane_with_zoom.width == pane_with_zoom.window_width
439+
assert pane_with_zoom.height == pane_with_zoom.window_height
440+
441+
416442
@pytest.mark.skipif(
417443
has_gte_version("3.0"),
418444
reason="3.0 has the -e flag on split-window",

0 commit comments

Comments
 (0)