From 25b43d528c12aab7fd706490c9d9802d75abdbc3 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 12 Aug 2015 07:41:06 +0200 Subject: [PATCH] Clear textbase text properly. --- qutebrowser/mainwindow/statusbar/textbase.py | 2 ++ tests/mainwindow/statusbar/test_textbase.py | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/qutebrowser/mainwindow/statusbar/textbase.py b/qutebrowser/mainwindow/statusbar/textbase.py index 848bc83f6..7db51649a 100644 --- a/qutebrowser/mainwindow/statusbar/textbase.py +++ b/qutebrowser/mainwindow/statusbar/textbase.py @@ -58,6 +58,8 @@ class TextBase(QLabel): if self.text(): self._elided_text = self.fontMetrics().elidedText( self.text(), self._elidemode, width, Qt.TextShowMnemonic) + else: + self._elided_text = '' def setText(self, txt): """Extend QLabel::setText. diff --git a/tests/mainwindow/statusbar/test_textbase.py b/tests/mainwindow/statusbar/test_textbase.py index 2a3f97c2d..016d02aad 100644 --- a/tests/mainwindow/statusbar/test_textbase.py +++ b/tests/mainwindow/statusbar/test_textbase.py @@ -92,3 +92,12 @@ def test_text_elide_none(mocker, qtbot): label._update_elided_text(20) assert not label.fontMetrics.called + + +def test_unset_text(qtbot): + """Make sure the text is cleared properly.""" + label = TextBase() + qtbot.add_widget(label) + label.setText('foo') + label.setText('') + assert not label._elided_text