@@ -144,7 +144,47 @@ def fin() -> None:
144
144
145
145
146
146
@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" :
148
188
"""Returns a new, temporary :class:`libtmux.Session`
149
189
150
190
>>> from libtmux.session import Session
@@ -185,7 +225,7 @@ def session(request: pytest.FixtureRequest, server: Server) -> "Session":
185
225
TEST_SESSION_NAME = get_test_session_name (server = server )
186
226
187
227
try :
188
- session = server .new_session (session_name = TEST_SESSION_NAME )
228
+ session = server .new_session (session_name = TEST_SESSION_NAME , ** session_params )
189
229
except exc .LibTmuxException as e :
190
230
raise e
191
231
0 commit comments