Skip to content

Commit 3c01651

Browse files
committed
feat(pytest_plugin): Add session_params
1 parent e5069ab commit 3c01651

File tree

1 file changed

+42
-2
lines changed

1 file changed

+42
-2
lines changed

src/libtmux/pytest_plugin.py

+42-2
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,47 @@ def fin() -> None:
144144

145145

146146
@pytest.fixture(scope="function")
147-
def session(request: pytest.FixtureRequest, server: Server) -> "Session":
147+
def session_params() -> t.Dict[str, t.Any]:
148+
"""Returns a new, temporary :class:`libtmux.Session`
149+
150+
>>> import pytest
151+
>>> from libtmux.session import Session
152+
153+
>>> @pytest.fixture
154+
... def session_params(session_params):
155+
... return {
156+
... 'x': 800,
157+
... 'y': 600,
158+
... }
159+
160+
>>> def test_example(session: "Session") -> None:
161+
... assert isinstance(session.name, str)
162+
... assert session.name.startswith('libtmux_')
163+
... window = session.new_window(window_name='new one')
164+
... assert window.name == 'new one'
165+
166+
.. ::
167+
>>> locals().keys()
168+
dict_keys(...)
169+
170+
>>> source = ''.join([e.source for e in request._pyfuncitem.dtest.examples][:4])
171+
>>> pytester = request.getfixturevalue('pytester')
172+
173+
>>> pytester.makepyfile(**{'whatever.py': source})
174+
PosixPath(...)
175+
176+
>>> result = pytester.runpytest('whatever.py', '--disable-warnings')
177+
===...
178+
179+
>>> result.assert_outcomes(passed=1)
180+
"""
181+
return {}
182+
183+
184+
@pytest.fixture(scope="function")
185+
def session(
186+
request: pytest.FixtureRequest, session_params: t.Dict[str, t.Any], server: Server
187+
) -> "Session":
148188
"""Returns a new, temporary :class:`libtmux.Session`
149189
150190
>>> from libtmux.session import Session
@@ -185,7 +225,7 @@ def session(request: pytest.FixtureRequest, server: Server) -> "Session":
185225
TEST_SESSION_NAME = get_test_session_name(server=server)
186226

187227
try:
188-
session = server.new_session(session_name=TEST_SESSION_NAME)
228+
session = server.new_session(session_name=TEST_SESSION_NAME, **session_params)
189229
except exc.LibTmuxException as e:
190230
raise e
191231

0 commit comments

Comments
 (0)