summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2015-09-27 12:18:22 +0300
committerLars Wirzenius <liw@liw.fi>2015-09-27 12:18:22 +0300
commitab009314c2acd9e520f2d23a085a41556d424df5 (patch)
treef02c9b542e50c61e8e1a78dead494bf5a0999e9c
parentd629ca9326f4693440b39f5fa73d62834279edbc (diff)
downloadttystatus-ab009314c2acd9e520f2d23a085a41556d424df5.tar.gz
Fix tests for multiline TerminalStatus support
-rw-r--r--ttystatus/status.py11
-rw-r--r--ttystatus/status_tests.py12
2 files changed, 15 insertions, 8 deletions
diff --git a/ttystatus/status.py b/ttystatus/status.py
index 61adcbe..0f57f74 100644
--- a/ttystatus/status.py
+++ b/ttystatus/status.py
@@ -40,7 +40,7 @@ class TerminalStatus(object):
'''Add a new widget to the status display.'''
self._widget_rows[-1].append(widget)
- def start_new_line(self):
+ def start_new_line(self): # pragma: no cover
'''Start a new line of widgets.'''
self._widget_rows.append([])
@@ -55,11 +55,18 @@ class TerminalStatus(object):
'''
for i, line in enumerate(format_string.split('\n')):
- if i > 0:
+ if i > 0: # pragma: no cover
self.start_new_line()
for widget in ttystatus.parse(line):
self.add(widget)
+ @property
+ def widgets(self):
+ result = []
+ for row in self._widget_rows:
+ result += row
+ return result
+
def clear(self):
'''Remove all widgets.'''
self._widget_rows = [[]]
diff --git a/ttystatus/status_tests.py b/ttystatus/status_tests.py
index d9d8bd8..1cadfda 100644
--- a/ttystatus/status_tests.py
+++ b/ttystatus/status_tests.py
@@ -56,23 +56,23 @@ class TerminalStatusTests(unittest.TestCase):
self.ts = ttystatus.TerminalStatus(messager=DummyMessager())
def test_has_no_widgets(self):
- self.assertEqual(self.ts._widgets, [])
+ self.assertEqual(self.ts.widgets, [])
def test_adds_widget(self):
w = ttystatus.Literal('foo')
self.ts.add(w)
- self.assertEqual(self.ts._widgets, [w])
+ self.assertEqual(self.ts.widgets, [w])
def test_adds_widgets_from_format_string(self):
self.ts.format('hello, %String(name)')
- self.assertEqual(len(self.ts._widgets), 2)
- self.assertEqual(type(self.ts._widgets[0]), ttystatus.Literal)
- self.assertEqual(type(self.ts._widgets[1]), ttystatus.String)
+ self.assertEqual(len(self.ts.widgets), 2)
+ self.assertEqual(type(self.ts.widgets[0]), ttystatus.Literal)
+ self.assertEqual(type(self.ts.widgets[1]), ttystatus.String)
def test_removes_all_widgets(self):
self.ts.add(ttystatus.Literal('foo'))
self.ts.clear()
- self.assertEqual(self.ts._widgets, [])
+ self.assertEqual(self.ts.widgets, [])
def test_returns_empty_string_for_unknown_value(self):
self.assertEqual(self.ts['foo'], '')