summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2023-06-14 01:06:08 +0200
committerFlorian Bruhin <me@the-compiler.org>2023-06-14 19:03:34 +0200
commit54aef75a2960f0bffd335dddcfd68b673b12075a (patch)
tree0a406127eb64abfaf3fb0644b4aa8c511b4c926d
parent9b34a165f578df49551b9f8b89983432409faa45 (diff)
downloadqutebrowser-54aef75a2960f0bffd335dddcfd68b673b12075a.tar.gz
qutebrowser-54aef75a2960f0bffd335dddcfd68b673b12075a.zip
qt: Sort wrappers in SelectionInfo correctly
-rw-r--r--qutebrowser/qt/machinery.py4
-rw-r--r--tests/unit/test_qt_machinery.py17
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", "<br>")
+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)",
]