diff options
author | Florian Bruhin <me@the-compiler.org> | 2023-06-13 15:21:41 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2023-06-13 15:21:41 +0200 |
commit | 7691556ea171c241eabb76e65c64c90dfc354327 (patch) | |
tree | 71dd186245fb4e559f6c5905936cfdb70c436fa8 | |
parent | 1cf9d68abaff0cb940fdebc8237afbd18b1f6f90 (diff) | |
download | qutebrowser-7691556ea171c241eabb76e65c64c90dfc354327.tar.gz qutebrowser-7691556ea171c241eabb76e65c64c90dfc354327.zip |
qt: Fix tests for SelectionInfo changes
-rw-r--r-- | tests/unit/test_qt_machinery.py | 119 |
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: |