diff --git a/qutebrowser/mainwindow/statusbar/zoom.py b/qutebrowser/mainwindow/statusbar/zoom.py index e059ca05b..fd0ed8129 100644 --- a/qutebrowser/mainwindow/statusbar/zoom.py +++ b/qutebrowser/mainwindow/statusbar/zoom.py @@ -1,25 +1,25 @@ """Zoom percentage displayed in the statusbar.""" +from qutebrowser.browser import browsertab from qutebrowser.mainwindow.statusbar import textbase - -from qutebrowser.qt.core import pyqtSlot +from qutebrowser.qt.core import pyqtSlot, QObject class Zoom(textbase.TextBase): """Shows percentage indicator.""" - def __init__(self, parent=None): + def __init__(self, parent: QObject = None) -> None: super().__init__(parent) self.setText("100%") @pyqtSlot(float) - def on_zoom_changed(self, factor): + def on_zoom_changed(self, factor: float) -> None: """Update percentage when factor changed.""" percentage = int(100 * factor) self.setText(f"{percentage}%") - def on_tab_changed(self, tab): + def on_tab_changed(self, tab: browsertab.AbstractTab) -> None: """Update percentage when tab changed.""" percentage = int(100 * tab.zoom.factor()) diff --git a/tests/unit/mainwindow/statusbar/test_zoom.py b/tests/unit/mainwindow/statusbar/test_zoom.py index d4ae0780f..48370b996 100644 --- a/tests/unit/mainwindow/statusbar/test_zoom.py +++ b/tests/unit/mainwindow/statusbar/test_zoom.py @@ -3,10 +3,12 @@ import pytest from qutebrowser.mainwindow.statusbar.zoom import Zoom +from typing import Any +import pytestqt.qtbot @pytest.fixture -def zoom(qtbot): +def zoom(qtbot: pytestqt.qtbot.QtBot) -> Zoom: """Fixture providing a Percentage widget.""" widget = Zoom() qtbot.add_widget(widget) @@ -20,7 +22,7 @@ def zoom(qtbot): (0.5, '50%'), (0.25, '25%'), ]) -def test_percentage_texts(zoom, factor, expected): +def test_percentage_texts(zoom: Zoom, factor: float, expected: str) -> None: """Test text displayed by the widget based on the zoom factor of a tab. Args: @@ -31,7 +33,7 @@ def test_percentage_texts(zoom, factor, expected): assert zoom.text() == expected -def test_tab_change(zoom, fake_web_tab): +def test_tab_change(zoom: Zoom, fake_web_tab: Any) -> None: """Test zoom factor change when switching tabs.""" zoom.on_zoom_changed(factor=2) assert zoom.text() == '200%'