summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2023-06-13 15:21:41 +0200
committerFlorian Bruhin <me@the-compiler.org>2023-06-13 15:21:41 +0200
commit7691556ea171c241eabb76e65c64c90dfc354327 (patch)
tree71dd186245fb4e559f6c5905936cfdb70c436fa8
parent1cf9d68abaff0cb940fdebc8237afbd18b1f6f90 (diff)
downloadqutebrowser-7691556ea171c241eabb76e65c64c90dfc354327.tar.gz
qutebrowser-7691556ea171c241eabb76e65c64c90dfc354327.zip
qt: Fix tests for SelectionInfo changes
-rw-r--r--tests/unit/test_qt_machinery.py119
1 files changed, 103 insertions, 16 deletions
diff --git a/tests/unit/test_qt_machinery.py b/tests/unit/test_qt_machinery.py
index d7d381824..cb201848f 100644
--- a/tests/unit/test_qt_machinery.py
+++ b/tests/unit/test_qt_machinery.py
@@ -55,16 +55,37 @@ def test_autoselect_none_available(
@pytest.mark.parametrize(
"available, expected",
[
- (["PyQt6"], "PyQt6"),
- (["PyQt5"], "PyQt5"),
- (["PyQt5", "PyQt6"], "PyQt6"),
+ (
+ ["PyQt6"],
+ machinery.SelectionInfo(
+ wrapper="PyQt6", reason=machinery.SelectionReason.auto, pyqt6="success"
+ ),
+ ),
+ (
+ ["PyQt5"],
+ machinery.SelectionInfo(
+ wrapper="PyQt5",
+ reason=machinery.SelectionReason.auto,
+ pyqt6="Fake ImportError for PyQt6.",
+ pyqt5="success",
+ ),
+ ),
+ (
+ ["PyQt5", "PyQt6"],
+ machinery.SelectionInfo(
+ wrapper="PyQt6",
+ reason=machinery.SelectionReason.auto,
+ pyqt6="success",
+ pyqt5=None,
+ ),
+ ),
],
)
def test_autoselect(
stubs: Any,
modules: Dict[str, bool],
available: List[str],
- expected: str,
+ expected: machinery.SelectionInfo,
monkeypatch: pytest.MonkeyPatch,
):
for wrapper in available:
@@ -77,26 +98,92 @@ def test_autoselect(
"args, env, expected",
[
# Defaults with no overrides
- (None, None, "PyQt5"),
- (argparse.Namespace(qt_wrapper=None), None, "PyQt5"),
- (argparse.Namespace(qt_wrapper=None), "", "PyQt5"),
+ (
+ None,
+ None,
+ machinery.SelectionInfo(
+ wrapper="PyQt5", reason=machinery.SelectionReason.default
+ ),
+ ),
+ (
+ argparse.Namespace(qt_wrapper=None),
+ None,
+ machinery.SelectionInfo(
+ wrapper="PyQt5", reason=machinery.SelectionReason.default
+ ),
+ ),
+ (
+ argparse.Namespace(qt_wrapper=None),
+ "",
+ machinery.SelectionInfo(
+ wrapper="PyQt5", reason=machinery.SelectionReason.default
+ ),
+ ),
# Only argument given
- (argparse.Namespace(qt_wrapper="PyQt6"), None, "PyQt6"),
- (argparse.Namespace(qt_wrapper="PyQt5"), None, "PyQt5"),
- (argparse.Namespace(qt_wrapper="PyQt5"), "", "PyQt5"),
+ (
+ argparse.Namespace(qt_wrapper="PyQt6"),
+ None,
+ machinery.SelectionInfo(
+ wrapper="PyQt6", reason=machinery.SelectionReason.cli
+ ),
+ ),
+ (
+ argparse.Namespace(qt_wrapper="PyQt5"),
+ None,
+ machinery.SelectionInfo(
+ wrapper="PyQt5", reason=machinery.SelectionReason.cli
+ ),
+ ),
+ (
+ argparse.Namespace(qt_wrapper="PyQt5"),
+ "",
+ machinery.SelectionInfo(
+ wrapper="PyQt5", reason=machinery.SelectionReason.cli
+ ),
+ ),
# Only environment variable given
- (None, "PyQt6", "PyQt6"),
- (None, "PyQt5", "PyQt5"),
+ (
+ None,
+ "PyQt6",
+ machinery.SelectionInfo(
+ wrapper="PyQt6", reason=machinery.SelectionReason.env
+ ),
+ ),
+ (
+ None,
+ "PyQt5",
+ machinery.SelectionInfo(
+ wrapper="PyQt5", reason=machinery.SelectionReason.env
+ ),
+ ),
# Both given
- (argparse.Namespace(qt_wrapper="PyQt5"), "PyQt6", "PyQt5"),
- (argparse.Namespace(qt_wrapper="PyQt6"), "PyQt5", "PyQt6"),
- (argparse.Namespace(qt_wrapper="PyQt6"), "PyQt6", "PyQt6"),
+ (
+ argparse.Namespace(qt_wrapper="PyQt5"),
+ "PyQt6",
+ machinery.SelectionInfo(
+ wrapper="PyQt5", reason=machinery.SelectionReason.cli
+ ),
+ ),
+ (
+ argparse.Namespace(qt_wrapper="PyQt6"),
+ "PyQt5",
+ machinery.SelectionInfo(
+ wrapper="PyQt6", reason=machinery.SelectionReason.cli
+ ),
+ ),
+ (
+ argparse.Namespace(qt_wrapper="PyQt6"),
+ "PyQt6",
+ machinery.SelectionInfo(
+ wrapper="PyQt6", reason=machinery.SelectionReason.cli
+ ),
+ ),
],
)
def test_select_wrapper(
args: Optional[argparse.Namespace],
env: Optional[str],
- expected: str,
+ expected: machinery.SelectionInfo,
monkeypatch: pytest.MonkeyPatch,
):
if env is None: