#7960: fix docstrings for captured_output and captured_stdout.

This commit is contained in:
Ezio Melotti 2011-05-14 08:19:43 +03:00
parent e3992eb743
commit 4dcb7be696
1 changed files with 8 additions and 8 deletions

View File

@ -814,14 +814,8 @@ def transient_internet(resource_name, timeout=30.0, errnos=()):
@contextlib.contextmanager
def captured_output(stream_name):
"""Run the 'with' statement body using a StringIO object in place of a
specific attribute on the sys module.
Example use (with 'stream_name=stdout')::
with captured_stdout() as s:
print "hello"
assert s.getvalue() == "hello"
"""
"""Return a context manager used by captured_stdout and captured_stdin
that temporarily replaces the sys stream *stream_name* with a StringIO."""
import StringIO
orig_stdout = getattr(sys, stream_name)
setattr(sys, stream_name, StringIO.StringIO())
@ -831,6 +825,12 @@ def captured_output(stream_name):
setattr(sys, stream_name, orig_stdout)
def captured_stdout():
"""Capture the output of sys.stdout:
with captured_stdout() as s:
print "hello"
self.assertEqual(s.getvalue(), "hello")
"""
return captured_output("stdout")
def captured_stdin():