summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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')
+