Skip to content

Commit 97d74c1

Browse files
committed
tests: Demo test_options module
1 parent 8fd18cc commit 97d74c1

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

tests/test_options.py

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
"""Test for libtmux Server object."""
2+
import logging
3+
4+
import pytest
5+
6+
from libtmux.common import has_gte_version
7+
from libtmux.constants import OptionScope
8+
from libtmux.exc import OptionError
9+
from libtmux.pane import Pane
10+
from libtmux.server import Server
11+
12+
logger = logging.getLogger(__name__)
13+
14+
15+
def test_options(server: "Server") -> None:
16+
"""Test basic options."""
17+
session = server.new_session(session_name="test")
18+
window = session.new_window(window_name="test")
19+
pane = window.split_window(attach=False)
20+
21+
for obj in [server, session, window, pane]:
22+
obj.show_options()
23+
obj.show_options(g=True)
24+
obj.show_options(include_parents=True)
25+
obj.show_options(include_hooks=True)
26+
with pytest.raises(OptionError):
27+
obj.show_option("test")
28+
if has_gte_version("3.0"):
29+
obj.show_option("test", ignore_errors=True)
30+
with pytest.raises(OptionError):
31+
obj.set_option("test", "invalid")
32+
if isinstance(obj, Pane):
33+
if has_gte_version("3.0"):
34+
obj.set_option("test", "invalid", ignore_errors=True)
35+
else:
36+
with pytest.raises(OptionError):
37+
obj.set_option("test", "invalid", ignore_errors=True)
38+
else:
39+
obj.set_option("test", "invalid", ignore_errors=True)
40+
41+
#
42+
# Server
43+
# ------
44+
server.set_option("buffer-limit", 100)
45+
assert server.show_option("buffer-limit") == 100
46+
if has_gte_version("3.0"):
47+
server.set_option("buffer-limit", 150, scope=OptionScope.Pane)
48+
49+
if has_gte_version("3.0"):
50+
# set-option and show-options w/ Pane (-p) does not exist until 3.0+
51+
server.set_option(
52+
"buffer-limit", 150, scope=OptionScope.Pane, ignore_errors=True
53+
)
54+
server.set_option("buffer-limit", 150, scope=OptionScope.Server)
55+
56+
if has_gte_version("3.0"):
57+
assert session.show_option("buffer-limit") == 150
58+
59+
if has_gte_version("3.0"):
60+
pane.set_option("buffer-limit", 100)
61+
else:
62+
with pytest.raises(OptionError):
63+
pane.set_option("buffer-limit", 100)
64+
65+
if has_gte_version("3.0"):
66+
assert pane.show_option("buffer-limit") == 100
67+
assert window.show_option("buffer-limit") == 100
68+
assert server.show_option("buffer-limit") == 100

0 commit comments

Comments
 (0)