summaryrefslogtreecommitdiffstats
path: root/docs/pages/advanced_topics
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-05 04:45:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-05 04:45:14 +0000
commit5b43aaac61ac94abe722bc98ae58468618f2f512 (patch)
tree3d58c89faa23d194f83abb24ae1fd05067538fff /docs/pages/advanced_topics
parentAdding upstream version 3.0.43. (diff)
downloadprompt-toolkit-upstream.tar.xz
prompt-toolkit-upstream.zip
Adding upstream version 3.0.46.upstream/3.0.46upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'docs/pages/advanced_topics')
-rw-r--r--docs/pages/advanced_topics/unit_testing.rst15
1 files changed, 15 insertions, 0 deletions
diff --git a/docs/pages/advanced_topics/unit_testing.rst b/docs/pages/advanced_topics/unit_testing.rst
index 2224bfc..02ca82d 100644
--- a/docs/pages/advanced_topics/unit_testing.rst
+++ b/docs/pages/advanced_topics/unit_testing.rst
@@ -116,6 +116,21 @@ single fixture that does it for every test. Something like this:
with create_app_session(input=pipe_input, output=DummyOutput()):
yield pipe_input
+For compatibility with pytest's ``capsys`` fixture, we have to create a new
+:class:`~prompt_toolkit.application.current.AppSession` for every test. This
+can be done in an autouse fixture. Pytest replaces ``sys.stdout`` with a new
+object in every test that uses ``capsys`` and the following will ensure that
+the new :class:`~prompt_toolkit.application.current.AppSession` will each time
+refer to the latest output.
+
+.. code:: python
+
+ from prompt_toolkit.application import create_app_session
+
+ @fixture(autouse=True, scope="function")
+ def _pt_app_session()
+ with create_app_session():
+ yield
Type checking
-------------