Rev 3026: Detect terminal width in TTYTaskDisplay. in http://people.ubuntu.com/~robertc/baz2.0/nested-pb
Robert Collins
robertc at robertcollins.net
Tue Nov 20 09:05:04 GMT 2007
At http://people.ubuntu.com/~robertc/baz2.0/nested-pb
------------------------------------------------------------
revno: 3026
revision-id:robertc at robertcollins.net-20071120090454-c8z4vn27l3k4tok9
parent: robertc at robertcollins.net-20071120085757-yud1ied1pn0cjcbx
committer: Robert Collins <robertc at robertcollins.net>
branch nick: pb.simplify
timestamp: Tue 2007-11-20 20:04:54 +1100
message:
Detect terminal width in TTYTaskDisplay.
modified:
bzrlib/progress.py progress.py-20050610070202-df9faaab791964c0
bzrlib/tests/test_progress.py test_progress.py-20060308160359-978c397bc79b7fda
=== modified file 'bzrlib/progress.py'
--- a/bzrlib/progress.py 2007-11-20 08:57:57 +0000
+++ b/bzrlib/progress.py 2007-11-20 09:04:54 +0000
@@ -49,6 +49,7 @@
lazy_import(globals(), """
from bzrlib import (
errors,
+ osutils,
)
""")
@@ -397,6 +398,10 @@
class TTYTaskDisplay(StreamTaskDisplay):
"""Display the task on a TTY file, using \r's to update a single line."""
+ def __init__(self, task, stream, terminal_width=osutils.terminal_width):
+ StreamTaskDisplay.__init__(self, task, stream)
+ self.terminal_width = terminal_width()
+
def clear(self):
pass
=== modified file 'bzrlib/tests/test_progress.py'
--- a/bzrlib/tests/test_progress.py 2007-11-20 08:53:59 +0000
+++ b/bzrlib/tests/test_progress.py 2007-11-20 09:04:54 +0000
@@ -527,13 +527,16 @@
def test_construct(self):
task = KnownLengthTask('message', 1)
output = _TTYStringIO()
- display = TTYTaskDisplay(task, output)
+ # Override terminal width detection for testing
+ display = TTYTaskDisplay(task, output, terminal_width=lambda:10)
+ self.assertEqual(10, display.terminal_width)
def get_display(self):
"""Get a task, output and display to test with."""
task = KnownLengthTask('message', 1)
output = _TTYStringIO()
- display = TTYTaskDisplay(task, output)
+ # Override terminal width detection for testing
+ display = TTYTaskDisplay(task, output, terminal_width=lambda:40)
return task, output, display
def test_usable(self):
More information about the bazaar-commits
mailing list