summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2010-06-05 13:48:10 +1200
committerLars Wirzenius <liw@liw.fi>2010-06-05 13:48:10 +1200
commit04b32543ee3c5d5f401aa1353b357bc688964cf4 (patch)
tree755bce63175d029103ac7f7864da604f04394ec1
parent55f95c124d1aec8d52597438be8722bc6eb6467a (diff)
downloadpython-ttystatus-04b32543ee3c5d5f401aa1353b357bc688964cf4.tar.gz
Add Messager.clear method.
-rw-r--r--ttystatus/messager.py4
-rw-r--r--ttystatus/messager_tests.py6
2 files changed, 10 insertions, 0 deletions
diff --git a/ttystatus/messager.py b/ttystatus/messager.py
index a84a828..20f8fc9 100644
--- a/ttystatus/messager.py
+++ b/ttystatus/messager.py
@@ -47,3 +47,7 @@ class Messager(object):
if now - self._last_time >= self._period:
self._raw_write(string)
self._last_time = now
+
+ def clear(self):
+ '''Remove current message from terminal.'''
+ self._raw_write('')
diff --git a/ttystatus/messager_tests.py b/ttystatus/messager_tests.py
index 3245e74..4fc616c 100644
--- a/ttystatus/messager_tests.py
+++ b/ttystatus/messager_tests.py
@@ -63,3 +63,9 @@ class MessagerTests(unittest.TestCase):
self.messager.write('bar')
self.assertEqual(self.output.getvalue(), 'foo\r \rbar')
+ def test_clear_removes_message(self):
+ self.messager._now = lambda: self.messager._period + 1
+ self.messager.write('foo')
+ self.messager.clear()
+ self.assertEqual(self.output.getvalue(), 'foo\r \r')
+