Rev 3013: Add tick() the bzrlib.progress.CountedTask API. in http://people.ubuntu.com/~robertc/baz2.0/nested-pb

Robert Collins robertc at robertcollins.net
Tue Nov 20 00:09:44 GMT 2007


At http://people.ubuntu.com/~robertc/baz2.0/nested-pb

------------------------------------------------------------
revno: 3013
revision-id:robertc at robertcollins.net-20071120000934-ekd6ntqxn9wyjr3z
parent: robertc at robertcollins.net-20071120000238-bitv7u6kda5lmv5w
committer: Robert Collins <robertc at robertcollins.net>
branch nick: pb.simplify
timestamp: Tue 2007-11-20 11:09:34 +1100
message:
  Add tick() the bzrlib.progress.CountedTask API.
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 00:02:38 +0000
+++ b/bzrlib/progress.py	2007-11-20 00:09:34 +0000
@@ -116,6 +116,15 @@
         """
         return self._message
 
+    def tick(self):
+        """Advance the task.
+
+        The tick_size is used as the amount to advance the task.
+        :return: The current status after advancing.
+        """
+        self.current += self.tick_size
+        return self.current
+
 
 class ProgressBarStack(object):
     """A stack of progress bars."""

=== modified file 'bzrlib/tests/test_progress.py'
--- a/bzrlib/tests/test_progress.py	2007-11-20 00:02:38 +0000
+++ b/bzrlib/tests/test_progress.py	2007-11-20 00:09:34 +0000
@@ -325,6 +325,21 @@
         self.assertEqual(1, task.tick_size)
         self.assertEqual(0, task.current)
 
+    def test_tick_default(self):
+        task = CountedTask('')
+        self.assertEqual(0, task.current)
+        self.assertEqual(1, task.tick())
+        self.assertEqual(1, task.current)
+
+    def test_tick_float(self):
+        task = CountedTask('')
+        self.assertEqual(0, task.current)
+        task.tick_size = 0.5
+        self.assertEqual(0.5, task.tick())
+        self.assertEqual(0.5, task.current)
+        self.assertEqual(1.0, task.tick())
+        self.assertEqual(1.0, task.current)
+
 
 class TestSilentTaskDisplay(TestCase):
 



More information about the bazaar-commits mailing list