darkmode: Improve tests

This commit is contained in:
Florian Bruhin 2021-02-11 11:02:04 +01:00
parent 259ab83299
commit a88a9bab86
2 changed files with 22 additions and 9 deletions

View File

@ -175,6 +175,9 @@ def _qtwebengine_args(
from qutebrowser.browser.webengine import darkmode
for switch_name, values in darkmode.settings().items():
# If we need to use other switches (say, --enable-features), we might need to
# refactor this so values still get combined with existing ones.
assert switch_name in ['dark-mode-settings', 'blink-settings'], switch_name
yield f'--{switch_name}=' + ','.join(f'{k}={v}' for k, v in values)
enabled_features, disabled_features = _qtwebengine_features(feature_flags)

View File

@ -448,22 +448,32 @@ class TestWebEngineArgs:
expected = ['--disable-features=InstalledApp'] if has_workaround else []
assert disable_features_args == expected
def test_blink_settings(self, config_stub, monkeypatch, parser):
@pytest.mark.parametrize('variant, expected', [
(
'qt_515_2',
['--blink-settings=forceDarkModeEnabled=true,forceDarkModeImagePolicy=2'],
),
(
'qt_515_3',
[
'--blink-settings=forceDarkModeEnabled=true',
'--dark-mode-settings=ImagePolicy=2',
]
),
])
def test_dark_mode_settings(self, config_stub, monkeypatch, parser,
variant, expected):
from qutebrowser.browser.webengine import darkmode
monkeypatch.setattr(qtargs.objects, 'backend',
usertypes.Backend.QtWebEngine)
monkeypatch.setattr(darkmode, '_variant',
lambda: darkmode.Variant.qt_515_2)
monkeypatch.setattr(qtargs.objects, 'backend', usertypes.Backend.QtWebEngine)
monkeypatch.setattr(darkmode, '_variant', lambda: darkmode.Variant[variant])
config_stub.val.colors.webpage.darkmode.enabled = True
parsed = parser.parse_args([])
args = qtargs.qt_args(parsed)
expected = ('--blink-settings=forceDarkModeEnabled=true,'
'forceDarkModeImagePolicy=2')
assert expected in args
for arg in expected:
assert arg in args
class TestEnvVars: