Fix tests without QtWebEngine

This commit is contained in:
Florian Bruhin 2021-05-13 16:42:34 +02:00
parent 9e52ad621a
commit ac12fcd714
2 changed files with 15 additions and 1 deletions

View File

@ -118,7 +118,7 @@ class StateConfig(configparser.ConfigParser):
Note that it's too early to use objects.backend here...
"""
try:
from PyQt5 import QtWebEngineWidgets # pylint: disable=unused-import
import PyQt5.QtWebEngineWidgets # pylint: disable=unused-import
except ImportError:
return 'no'
return str(version.qtwebengine_versions(avoid_init=True).webengine)

View File

@ -166,6 +166,11 @@ def state_writer(data_tmpdir):
@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,
@ -217,6 +222,15 @@ def test_qtwe_version_changed(state_writer, qtwe_version_patcher,
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),