diff options
author | Ander Punnar <ander@kvlt.ee> | 2021-05-20 20:52:42 +0300 |
---|---|---|
committer | Ander Punnar <ander@kvlt.ee> | 2021-05-20 20:52:42 +0300 |
commit | 4e47af21586aad3846c2458dc0c8243e9d6eb792 (patch) | |
tree | 11b2073411b7decc68ba049bdfd4d97e8ab48343 /tests | |
parent | 2fc588358b27153721cc83e728e0d15b0e4d0d22 (diff) | |
parent | 90fbe1e181463379f38b8f0b01d488d1f7a586e0 (diff) | |
download | qutebrowser-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.py | 2 | ||||
-rw-r--r-- | tests/unit/config/test_config.py | 1 | ||||
-rw-r--r-- | tests/unit/config/test_configfiles.py | 61 | ||||
-rw-r--r-- | tests/unit/scripts/test_check_coverage.py | 6 | ||||
-rw-r--r-- | tests/unit/utils/test_version.py | 4 |
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): |