def size_hint(self): writer = TerminalWriter(StringIO()) progressbar = ProgressBar([], writer, maxsteps=20) widget = PercentageWidget() assert widget.provides_size_hint Assert(widget.size_hint(progressbar)) == 2 progressbar.step = 1 Assert(widget.size_hint(progressbar)) == 2 progressbar.step = 2 Assert(widget.size_hint(progressbar)) == 3 progressbar.step = 20 Assert(widget.size_hint(progressbar)) == 4