Mercurial > python-cmd2
diff cmd2.py @ 378:0b77ca917fd2
now attempting new outputtrap
author | cat@eee |
---|---|
date | Mon, 22 Feb 2010 19:18:58 -0500 |
parents | 70ca35d96c49 |
children | 1babd3df22d1 |
line wrap: on
line diff
--- a/cmd2.py Mon Feb 22 18:09:06 2010 -0500 +++ b/cmd2.py Mon Feb 22 19:18:58 2010 -0500 @@ -1445,7 +1445,21 @@ def tearDown(self): sys.stdout = self.old_stdout - +class OutputTrap(Borg): + '''Instantiate an OutputTrap to divert/capture ALL stdout output. For use in unit testing. + Call `tearDown()` to return to normal output.''' + def __init__(self): + self.contents = '' + self.old_stdout = sys.stdout + sys.stdout = self + def write(self, txt): + self.contents += txt + def read(self): + return self.contents + def tearDown(self): + sys.stdout = self.old_stdout + self.contents = '' + class Cmd2TestCase(unittest.TestCase): '''Subclass this, setting CmdApp, to make a unittest.TestCase class that will execute the commands in a transcript file and expect the results shown.