summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAnder Punnar <ander@kvlt.ee>2021-05-20 20:52:42 +0300
committerAnder Punnar <ander@kvlt.ee>2021-05-20 20:52:42 +0300
commit4e47af21586aad3846c2458dc0c8243e9d6eb792 (patch)
tree11b2073411b7decc68ba049bdfd4d97e8ab48343 /tests
parent2fc588358b27153721cc83e728e0d15b0e4d0d22 (diff)
parent90fbe1e181463379f38b8f0b01d488d1f7a586e0 (diff)
downloadqutebrowser-4e47af21586aad3846c2458dc0c8243e9d6eb792.tar.gz
qutebrowser-4e47af21586aad3846c2458dc0c8243e9d6eb792.zip
Merge remote-tracking branch 'origin/master' into 4nd3r/hostblock_subdomains
Diffstat (limited to 'tests')
-rw-r--r--tests/end2end/fixtures/webserver_sub_ssl.py2
-rw-r--r--tests/unit/config/test_config.py1
-rw-r--r--tests/unit/config/test_configfiles.py61
-rw-r--r--tests/unit/scripts/test_check_coverage.py6
-rw-r--r--tests/unit/utils/test_version.py4
5 files changed, 64 insertions, 10 deletions
diff --git a/tests/end2end/fixtures/webserver_sub_ssl.py b/tests/end2end/fixtures/webserver_sub_ssl.py
index 241261194..4c54d767b 100644
--- a/tests/end2end/fixtures/webserver_sub_ssl.py
+++ b/tests/end2end/fixtures/webserver_sub_ssl.py
@@ -64,7 +64,7 @@ def turn_off_logging():
def main():
end2end_dir = pathlib.Path(__file__).resolve().parents[1]
ssl_dir = end2end_dir / 'data' / 'ssl'
- context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
+ context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
context.load_cert_chain((ssl_dir / 'cert.pem'),
(ssl_dir / 'key.pem'))
app.run(port=int(sys.argv[1]), debug=False, ssl_context=context)
diff --git a/tests/unit/config/test_config.py b/tests/unit/config/test_config.py
index dd6ef54fa..b88bc2f8d 100644
--- a/tests/unit/config/test_config.py
+++ b/tests/unit/config/test_config.py
@@ -211,6 +211,7 @@ class TestKeyConfig:
"a": "set-cmd-text no_leading_colon",
"b": "set-cmd-text -s -a :skip_cuz_append",
"c": "set-cmd-text --append :skip_cuz_append",
+ "x": "set-cmd-text",
},
{
"open": ["o"],
diff --git a/tests/unit/config/test_configfiles.py b/tests/unit/config/test_configfiles.py
index e0d64bffc..65952ddb4 100644
--- a/tests/unit/config/test_configfiles.py
+++ b/tests/unit/config/test_configfiles.py
@@ -29,7 +29,7 @@ from PyQt5.QtCore import QSettings
from qutebrowser.config import (config, configfiles, configexc, configdata,
configtypes)
-from qutebrowser.utils import utils, usertypes, urlmatch, standarddir
+from qutebrowser.utils import utils, usertypes, urlmatch, standarddir, version
from qutebrowser.keyinput import keyutils
@@ -81,6 +81,7 @@ def autoconfig(config_tmpdir):
False,
'[general]\n'
'qt_version = 5.6.7\n'
+ 'qtwe_version = 7.8.9\n'
'version = 1.2.3\n'
'\n'
'[geometry]\n'
@@ -92,6 +93,7 @@ def autoconfig(config_tmpdir):
False,
'[general]\n'
'qt_version = 5.6.7\n'
+ 'qtwe_version = 7.8.9\n'
'version = 1.2.3\n'
'\n'
'[geometry]\n'
@@ -104,6 +106,7 @@ def autoconfig(config_tmpdir):
'[general]\n'
'foobar = 42\n'
'qt_version = 5.6.7\n'
+ 'qtwe_version = 7.8.9\n'
'version = 1.2.3\n'
'\n'
'[geometry]\n'
@@ -114,6 +117,7 @@ def autoconfig(config_tmpdir):
True,
'[general]\n'
'qt_version = 5.6.7\n'
+ 'qtwe_version = 7.8.9\n'
'version = 1.2.3\n'
'newval = 23\n'
'\n'
@@ -122,10 +126,13 @@ def autoconfig(config_tmpdir):
'[inspector]\n'
'\n'),
])
-def test_state_config(fake_save_manager, data_tmpdir, monkeypatch,
- old_data, insert, new_data):
+def test_state_config(
+ fake_save_manager, data_tmpdir, monkeypatch, qtwe_version_patcher,
+ old_data, insert, new_data
+):
monkeypatch.setattr(configfiles.qutebrowser, '__version__', '1.2.3')
monkeypatch.setattr(configfiles, 'qVersion', lambda: '5.6.7')
+ qtwe_version_patcher('7.8.9')
statefile = data_tmpdir / 'state'
if old_data is not None:
@@ -157,6 +164,28 @@ def state_writer(data_tmpdir):
return _write
+@pytest.fixture
+def qtwe_version_patcher(monkeypatch):
+ try:
+ from PyQt5 import QtWebEngineWidgets # pylint: disable=unused-import
+ except ImportError:
+ pytest.skip("QtWebEngine not available")
+
+ def patch(ver):
+ monkeypatch.setattr(
+ configfiles.version,
+ 'qtwebengine_versions',
+ lambda avoid_init=False:
+ version.WebEngineVersions(
+ webengine=utils.VersionNumber.parse(ver),
+ chromium=None,
+ source='test',
+ )
+ )
+
+ return patch
+
+
@pytest.mark.parametrize('old_version, new_version, changed', [
(None, '5.12.1', False),
('5.12.1', '5.12.1', False),
@@ -176,6 +205,32 @@ def test_qt_version_changed(state_writer, monkeypatch,
assert state.qt_version_changed == changed
+@pytest.mark.parametrize('old_version, new_version, changed', [
+ (None, '5.15.1', False),
+ ('5.15.1', '5.15.1', False),
+ ('5.15.1', '5.15.2', True),
+ ('5.14.0', '5.15.2', True),
+])
+def test_qtwe_version_changed(state_writer, qtwe_version_patcher,
+ old_version, new_version, changed):
+ qtwe_version_patcher(new_version)
+
+ if old_version is not None:
+ state_writer('qtwe_version', old_version)
+
+ state = configfiles.StateConfig()
+ assert state.qtwe_version_changed == changed
+
+
+def test_qtwe_version_changed_webkit(stubs, monkeypatch, state_writer):
+ fake = stubs.ImportFake({'PyQt5.QtWebEngineWidgets': False}, monkeypatch)
+ fake.patch()
+
+ state_writer('qtwe_version', 'no')
+ state = configfiles.StateConfig()
+ assert not state.qtwe_version_changed
+
+
@pytest.mark.parametrize('old_version, new_version, expected', [
(None, '2.0.0', configfiles.VersionChange.unknown),
('1.14.1', '1.14.1', configfiles.VersionChange.equal),
diff --git a/tests/unit/scripts/test_check_coverage.py b/tests/unit/scripts/test_check_coverage.py
index d2a0b409f..efd35ce82 100644
--- a/tests/unit/scripts/test_check_coverage.py
+++ b/tests/unit/scripts/test_check_coverage.py
@@ -176,9 +176,6 @@ def test_untested_floats(covtest):
assert covtest.check() == [expected]
-@pytest.mark.skipif(
- sys.version_info[:4] == (3, 10, 0, 'alpha'),
- reason='Different results, see https://github.com/nedbat/coveragepy/issues/1106')
def test_untested_branches(covtest):
covtest.makefile("""
def func2(arg):
@@ -191,10 +188,11 @@ def test_untested_branches(covtest):
func2(True)
""")
covtest.run()
+ line_coverage = "83.33%" if sys.version_info[:2] >= (3, 10) else "100.00%"
expected = check_coverage.Message(
check_coverage.MsgType.insufficient_coverage,
'module.py',
- 'module.py has 100.00% line and 50.00% branch coverage!')
+ f'module.py has {line_coverage} line and 50.00% branch coverage!')
assert covtest.check() == [expected]
diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py
index 734b70468..6c57cb3d3 100644
--- a/tests/unit/utils/test_version.py
+++ b/tests/unit/utils/test_version.py
@@ -917,14 +917,14 @@ class TestWebEngineVersions:
webengine=utils.VersionNumber(5, 15, 2),
chromium='87.0.4280.144',
source='UA'),
- "QtWebEngine 5.15.2, Chromium 87.0.4280.144",
+ "QtWebEngine 5.15.2, based on Chromium 87.0.4280.144",
),
(
version.WebEngineVersions(
webengine=utils.VersionNumber(5, 15, 2),
chromium='87.0.4280.144',
source='faked'),
- "QtWebEngine 5.15.2, Chromium 87.0.4280.144 (from faked)",
+ "QtWebEngine 5.15.2, based on Chromium 87.0.4280.144 (from faked)",
),
])
def test_str(self, version, expected):