@@ -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