summaryrefslogtreecommitdiff
path: root/tests/unit/utils/test_qtutils.py
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2017-03-08 08:41:18 +0100
committerFlorian Bruhin <git@the-compiler.org>2017-03-08 08:41:18 +0100
commitf86f9cd92a6c992a3a2f8dccd631ea3afb3a9413 (patch)
treec64379484be05b5fcd5734fd01c03afb262f1efb /tests/unit/utils/test_qtutils.py
parentac0409c60d0d6b565d2e4044bf87c34c43d2e6a7 (diff)
downloadqutebrowser-f86f9cd92a6c992a3a2f8dccd631ea3afb3a9413.tar.gz
qutebrowser-f86f9cd92a6c992a3a2f8dccd631ea3afb3a9413.zip
Refactor qtutils.version_check API
Fixes #2423
Diffstat (limited to 'tests/unit/utils/test_qtutils.py')
-rw-r--r--tests/unit/utils/test_qtutils.py39
1 files changed, 23 insertions, 16 deletions
diff --git a/tests/unit/utils/test_qtutils.py b/tests/unit/utils/test_qtutils.py
index 7cc0742f5..e49712a23 100644
--- a/tests/unit/utils/test_qtutils.py
+++ b/tests/unit/utils/test_qtutils.py
@@ -42,21 +42,28 @@ from qutebrowser.utils import qtutils
import overflow_test_cases
-@pytest.mark.parametrize('qversion, compiled, version, op, expected', [
- ('5.4.0', None, '5.4.0', operator.ge, True),
- ('5.4.0', None, '5.4.0', operator.eq, True),
- ('5.4.0', None, '5.4', operator.eq, True),
- ('5.4.1', None, '5.4', operator.ge, True),
- ('5.3.2', None, '5.4', operator.ge, False),
- ('5.3.0', None, '5.3.2', operator.ge, False),
- # strict=True
- ('5.4.0', '5.3.0', '5.4.0', operator.ge, False),
- ('5.4.0', '5.4.0', '5.4.0', operator.ge, True),
-
- ('5.4.0', '5.3.0', '5.4.0', operator.lt, True),
- ('5.4.0', '5.4.0', '5.4.0', operator.lt, False),
+@pytest.mark.parametrize('qversion, compiled, version, exact, expected', [
+ # equal versions
+ ('5.4.0', None, '5.4.0', False, True),
+ ('5.4.0', None, '5.4.0', True, True), # exact=True
+ ('5.4.0', None, '5.4', True, True), # without trailing 0
+ # newer version installed
+ ('5.4.1', None, '5.4', False, True),
+ ('5.4.1', None, '5.4', True, False), # exact=True
+ # older version installed
+ ('5.3.2', None, '5.4', False, False),
+ ('5.3.0', None, '5.3.2', False, False),
+ ('5.3.0', None, '5.3.2', True, False), # exact=True
+ # strict
+ ('5.4.0', '5.3.0', '5.4.0', False, False),
+ ('5.4.0', '5.4.0', '5.4.0', False, True),
+ # strict and exact=True
+ ('5.4.0', '5.5.0', '5.4.0', True, False),
+ ('5.5.0', '5.4.0', '5.4.0', True, False),
+ ('5.4.0', '5.4.0', '5.4.0', True, True),
])
-def test_version_check(monkeypatch, qversion, compiled, version, op, expected):
+def test_version_check(monkeypatch, qversion, compiled, version, exact,
+ expected):
"""Test for version_check().
Args:
@@ -64,7 +71,7 @@ def test_version_check(monkeypatch, qversion, compiled, version, op, expected):
qversion: The version to set as fake qVersion().
compiled: The value for QT_VERSION_STR (set strict=True)
version: The version to compare with.
- op: The operator to use when comparing.
+ exact: Use exact comparing (==)
expected: The expected result.
"""
monkeypatch.setattr(qtutils, 'qVersion', lambda: qversion)
@@ -74,7 +81,7 @@ def test_version_check(monkeypatch, qversion, compiled, version, op, expected):
else:
strict = False
- assert qtutils.version_check(version, op, strict=strict) == expected
+ assert qtutils.version_check(version, exact, strict=strict) == expected
@pytest.mark.parametrize('version, ng', [