From 54aef75a2960f0bffd335dddcfd68b673b12075a Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 14 Jun 2023 01:06:08 +0200 Subject: qt: Sort wrappers in SelectionInfo correctly --- qutebrowser/qt/machinery.py | 4 ++-- tests/unit/test_qt_machinery.py | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/qutebrowser/qt/machinery.py b/qutebrowser/qt/machinery.py index f1539b07f..27c54f081 100644 --- a/qutebrowser/qt/machinery.py +++ b/qutebrowser/qt/machinery.py @@ -105,12 +105,12 @@ class SelectionInfo: # No autoselect -> shorter output return f"Qt wrapper: {self.wrapper} (via {self.reason.value})" - pyqt5 = self.pyqt5 or "not imported" pyqt6 = self.pyqt6 or "not imported" + pyqt5 = self.pyqt5 or "not imported" lines = [ "Qt wrapper info:", - f" PyQt5: {pyqt5}", f" PyQt6: {pyqt6}", + f" PyQt5: {pyqt5}", f" -> selected: {self.wrapper} (via {self.reason.value})" ] return "\n".join(lines) diff --git a/tests/unit/test_qt_machinery.py b/tests/unit/test_qt_machinery.py index 0875be7e4..c49a2850b 100644 --- a/tests/unit/test_qt_machinery.py +++ b/tests/unit/test_qt_machinery.py @@ -118,8 +118,8 @@ def test_selectioninfo_use_wrapper(): ), ( "Qt wrapper info:\n" - " PyQt5: ImportError: Python imploded\n" " PyQt6: success\n" + " PyQt5: ImportError: Python imploded\n" " -> selected: PyQt6 (via autoselect)" ), ), @@ -131,6 +131,19 @@ def test_selectioninfo_str(info: machinery.SelectionInfo, expected: str): assert info.to_html() == html.escape(expected).replace("\n", "
") +def test_selectioninfo_str_wrapper_precedence(): + """The order of the wrappers should be the same as in machinery.WRAPPERS.""" + info = machinery.SelectionInfo( + wrapper="PyQt6", + reason=machinery.SelectionReason.auto, + pyqt5="ImportError: Python imploded", + pyqt6="success", + ) + lines = str(info).splitlines()[1:-1] + wrappers = [line.split(":")[0].strip() for line in lines] + assert wrappers == machinery.WRAPPERS + + @pytest.fixture def modules(): """Return a dict of modules to import-patch, all unavailable by default.""" @@ -355,8 +368,8 @@ class TestInit: "No Qt wrapper was importable.", "", "Qt wrapper info:", - " PyQt5: not imported", " PyQt6: ImportError: Fake ImportError for PyQt6.", + " PyQt5: not imported", " -> selected: None (via autoselect)", ] -- cgit v1.2.3-54-g00ecf