Exemple #1
0
 def update(self):
     writer = TerminalWriter(StringIO())
     progressbar = ProgressBar([], writer, maxsteps=20)
     widget = PercentageWidget()
     widget.init(progressbar, writer.get_width())
     for i in xrange(5, 96, 5):
         progressbar.step += 1
         result = widget.update(progressbar, writer.get_width())
         Assert(result) == '%i%%' % i
Exemple #2
0
 def update(self):
     writer = TerminalWriter(StringIO())
     progressbar = ProgressBar([], writer, maxsteps=20)
     widget = PercentageWidget()
     widget.init(progressbar, writer.get_width())
     for i in xrange(5, 96, 5):
         progressbar.step += 1
         result = widget.update(progressbar, writer.get_width())
         Assert(result) == '%i%%' % i
Exemple #3
0
 def update(self):
     writer = TerminalWriter(StringIO())
     progressbar = ProgressBar([], writer, maxsteps=20)
     widget = StepWidget()
     widget.init(progressbar, writer.get_width())
     for i in xrange(1, 21):
         progressbar.step += 1
         result = widget.update(progressbar, writer.get_width())
         Assert(len(result)) == widget.size_hint(progressbar)
         Assert(result) == '%i of 20' % i
Exemple #4
0
 def update(self):
     writer = TerminalWriter(StringIO())
     progressbar = ProgressBar([], writer, maxsteps=20)
     widget = StepWidget()
     widget.init(progressbar, writer.get_width())
     for i in xrange(1, 21):
         progressbar.step += 1
         result = widget.update(progressbar, writer.get_width())
         Assert(len(result)) == widget.size_hint(progressbar)
         Assert(result) == '%i of 20' % i
Exemple #5
0
def test_text_widget():
    writer = TerminalWriter(StringIO())
    progressbar = ProgressBar([], writer)
    widget = TextWidget('foobar')
    assert widget.provides_size_hint
    Assert(widget.size_hint(progressbar)) == len('foobar')
    Assert(widget.init(progressbar, writer.get_width())) == 'foobar'
    Assert(widget.update(progressbar, writer.get_width())) == 'foobar'
    Assert(widget.finish(progressbar, writer.get_width())) == 'foobar'

    Assert(repr(widget)) == "TextWidget('foobar')"
Exemple #6
0
def test_text_widget():
    writer = TerminalWriter(StringIO())
    progressbar = ProgressBar([], writer)
    widget = TextWidget('foobar')
    assert widget.provides_size_hint
    Assert(widget.size_hint(progressbar)) == len('foobar')
    Assert(widget.init(progressbar, writer.get_width())) == 'foobar'
    Assert(widget.update(progressbar, writer.get_width())) == 'foobar'
    Assert(widget.finish(progressbar, writer.get_width())) == 'foobar'

    Assert(repr(widget)) == "TextWidget('foobar')"
Exemple #7
0
def test_hint_widget():
    writer = TerminalWriter(StringIO())
    progressbar = ProgressBar([], writer)
    widget = HintWidget('foo')
    assert not widget.provides_size_hint
    Assert(widget.init(progressbar, writer.get_width())) == 'foo'
    Assert(widget.update(progressbar, writer.get_width(), hint='bar')) == 'bar'
    Assert(widget.update(progressbar, writer.get_width(), hint='baz')) == 'baz'
    Assert(widget.finish(progressbar, writer.get_width(), hint='spam')) == 'spam'

    Assert(repr(widget)) == "HintWidget('foo')"

    widget.finish(progressbar, writer.get_width()) == u''
Exemple #8
0
    def get_width(self):
        with Assert.not_raising(Exception):
            self.writer.get_width()
        writer = TerminalWriter(sys.__stdout__)
        Assert(writer.get_width()) == writer.get_dimensions()[1]

        writer = TerminalWriter(StringIO())
        os.environ['COLUMNS'] = '50'
        Assert(writer.get_width()) == 50
        del os.environ['COLUMNS']
        Assert(writer.get_width()) == TerminalWriter.default_width
        default_width = TerminalWriter.default_width
        Assert(writer.get_width(default_width + 1)) == default_width + 1
Exemple #9
0
    def get_width(self):
        with Assert.not_raising(Exception):
            self.writer.get_width()
        writer = TerminalWriter(sys.__stdout__)
        Assert(writer.get_width()) == writer.get_dimensions()[1]

        writer = TerminalWriter(StringIO())
        os.environ['COLUMNS'] = '50'
        Assert(writer.get_width()) == 50
        del os.environ['COLUMNS']
        Assert(writer.get_width()) == TerminalWriter.default_width
        default_width = TerminalWriter.default_width
        Assert(writer.get_width(default_width + 1)) == default_width + 1
Exemple #10
0
def test_hint_widget():
    writer = TerminalWriter(StringIO())
    progressbar = ProgressBar([], writer)
    widget = HintWidget('foo')
    assert not widget.provides_size_hint
    Assert(widget.init(progressbar, writer.get_width())) == 'foo'
    Assert(widget.update(progressbar, writer.get_width(), hint='bar')) == 'bar'
    Assert(widget.update(progressbar, writer.get_width(), hint='baz')) == 'baz'
    Assert(widget.finish(progressbar, writer.get_width(),
                         hint='spam')) == 'spam'

    Assert(repr(widget)) == "HintWidget('foo')"

    widget.finish(progressbar, writer.get_width()) == u''
Exemple #11
0
 def update(self):
     writer = TerminalWriter(StringIO())
     progressbar = ProgressBar([], writer)
     widget = Widget()
     with Assert.raises(NotImplementedError) as exc:
         widget.update(progressbar, writer.get_width())
     Assert(exc.args[0]) == 'Widget.update'
Exemple #12
0
 def update(self):
     writer = TerminalWriter(StringIO())
     progressbar = ProgressBar([], writer)
     widget = Widget()
     with Assert.raises(NotImplementedError) as exc:
         widget.update(progressbar, writer.get_width())
     Assert(exc.args[0]) == 'Widget.update'
Exemple #13
0
    def finish(self):
        class MyWidget(Widget):
            update_called = False

            def update(self, writer, remaining_width, **kwargs):
                self.update_called = True

        writer = TerminalWriter(StringIO())
        progressbar = ProgressBar([], writer)
        widget = MyWidget()
        widget.finish(progressbar, writer.get_width())
        assert widget.update_called
Exemple #14
0
    def init(self):
        writer = TerminalWriter(StringIO())
        progressbar = ProgressBar([], writer, maxsteps=20)
        widget = StepWidget()
        Assert(widget.init(progressbar, writer.get_width())) == '0 of 20'
        Assert(widget.size_hint(progressbar)) == 7

        with Assert.raises(ValueError):
            StepWidget('foo')

        with Assert.not_raising(ValueError):
            StepWidget('bytes')
Exemple #15
0
    def init(self):
        writer = TerminalWriter(StringIO())
        progressbar = ProgressBar([], writer, maxsteps=20)
        widget = StepWidget()
        Assert(widget.init(progressbar, writer.get_width())) == '0 of 20'
        Assert(widget.size_hint(progressbar)) == 7

        with Assert.raises(ValueError):
            StepWidget('foo')

        with Assert.not_raising(ValueError):
            StepWidget('bytes')
Exemple #16
0
    def finish(self):
        class MyWidget(Widget):
            update_called = False

            def update(self, writer, remaining_width, **kwargs):
                self.update_called = True

        writer = TerminalWriter(StringIO())
        progressbar = ProgressBar([], writer)
        widget = MyWidget()
        widget.finish(progressbar, writer.get_width())
        assert widget.update_called
Exemple #17
0
 def get_usable_width(self):
     writer = TerminalWriter(StringIO(), prefix='spam')
     Assert(writer.get_usable_width()) == writer.get_width() - len('spam')
     writer.indent()
     Assert(writer.get_usable_width()) == writer.get_width() - 8
Exemple #18
0
 def finish(self):
     writer = TerminalWriter(StringIO())
     progressbar = ProgressBar([], writer, maxsteps=20)
     widget = StepWidget()
     progressbar.step = progressbar.maxsteps
     Assert(widget.finish(progressbar, writer.get_width())) == '20 of 20'
Exemple #19
0
 def finish(self):
     writer = TerminalWriter(StringIO())
     progressbar = ProgressBar([], writer, maxsteps=100)
     widget = PercentageWidget()
     widget.init(progressbar, writer.get_width())
     Assert(widget.finish(progressbar, writer.get_width())) == '100%'
Exemple #20
0
 def finish(self):
     writer = TerminalWriter(StringIO())
     progressbar = ProgressBar([], writer, maxsteps=100)
     widget = PercentageWidget()
     widget.init(progressbar, writer.get_width())
     Assert(widget.finish(progressbar, writer.get_width())) == '100%'
Exemple #21
0
 def get_usable_width(self):
     writer = TerminalWriter(StringIO(), prefix='spam')
     Assert(writer.get_usable_width()) == writer.get_width() - len('spam')
     writer.indent()
     Assert(writer.get_usable_width()) == writer.get_width() - 8
Exemple #22
0
 def finish(self):
     writer = TerminalWriter(StringIO())
     progressbar = ProgressBar([], writer, maxsteps=20)
     widget = StepWidget()
     progressbar.step = progressbar.maxsteps
     Assert(widget.finish(progressbar, writer.get_width())) == '20 of 20'