summaryrefslogtreecommitdiff
path: root/tests/unit/browser/webengine/test_darkmode.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/browser/webengine/test_darkmode.py')
-rw-r--r--tests/unit/browser/webengine/test_darkmode.py126
1 files changed, 33 insertions, 93 deletions
diff --git a/tests/unit/browser/webengine/test_darkmode.py b/tests/unit/browser/webengine/test_darkmode.py
index 3f5272dab..eab7af511 100644
--- a/tests/unit/browser/webengine/test_darkmode.py
+++ b/tests/unit/browser/webengine/test_darkmode.py
@@ -24,7 +24,6 @@ from qutebrowser.config import configdata
from qutebrowser.utils import usertypes, version, utils
from qutebrowser.browser.webengine import darkmode
from qutebrowser.misc import objects
-from helpers import testutils
@pytest.fixture(autouse=True)
@@ -43,38 +42,25 @@ def gentoo_versions():
@pytest.mark.parametrize('value, webengine_version, expected', [
# Auto
- ("auto", "5.14", []),
- ("auto", "5.15.0", []),
- ("auto", "5.15.1", []),
("auto", "5.15.2", [("preferredColorScheme", "2")]), # QTBUG-89753
("auto", "5.15.3", []),
- ("auto", "6.0.0", []),
+ ("auto", "6.2.0", []),
# Unset
- (None, "5.14", []),
- (None, "5.15.0", []),
- (None, "5.15.1", []),
(None, "5.15.2", [("preferredColorScheme", "2")]), # QTBUG-89753
(None, "5.15.3", []),
- (None, "6.0.0", []),
+ (None, "6.2.0", []),
# Dark
- ("dark", "5.14", []),
- ("dark", "5.15.0", []),
- ("dark", "5.15.1", []),
("dark", "5.15.2", [("preferredColorScheme", "1")]),
("dark", "5.15.3", [("preferredColorScheme", "0")]),
- ("dark", "6.0.0", [("preferredColorScheme", "0")]),
+ ("dark", "6.2.0", [("preferredColorScheme", "0")]),
# Light
- ("light", "5.14", []),
- ("light", "5.15.0", []),
- ("light", "5.15.1", []),
("light", "5.15.2", [("preferredColorScheme", "2")]),
("light", "5.15.3", [("preferredColorScheme", "1")]),
- ("light", "6.0.0", [("preferredColorScheme", "1")]),
+ ("light", "6.2.0", [("preferredColorScheme", "1")]),
])
-@testutils.qt514
def test_colorscheme(config_stub, value, webengine_version, expected):
versions = version.WebEngineVersions.from_pyqt(webengine_version)
if value is not None:
@@ -84,7 +70,6 @@ def test_colorscheme(config_stub, value, webengine_version, expected):
assert darkmode_settings['blink-settings'] == expected
-@testutils.qt514
def test_colorscheme_gentoo_workaround(config_stub, gentoo_versions):
config_stub.val.colors.webpage.preferred_color_scheme = "dark"
darkmode_settings = darkmode.settings(versions=gentoo_versions, special_flags=[])
@@ -93,17 +78,26 @@ def test_colorscheme_gentoo_workaround(config_stub, gentoo_versions):
@pytest.mark.parametrize('settings, expected', [
# Disabled
- ({}, []),
+ ({}, [('preferredColorScheme', '2')]),
# Enabled without customization
- ({'enabled': True}, [('darkModeEnabled', 'true')]),
+ (
+ {'enabled': True},
+ [
+ ('preferredColorScheme', '2'),
+ ('forceDarkModeEnabled', 'true'),
+ ('forceDarkModeImagePolicy', '2'),
+ ]
+ ),
# Algorithm
(
{'enabled': True, 'algorithm': 'brightness-rgb'},
[
- ('darkModeEnabled', 'true'),
- ('darkModeInversionAlgorithm', '2')
+ ('preferredColorScheme', '2'),
+ ('forceDarkModeEnabled', 'true'),
+ ('forceDarkModeInversionAlgorithm', '2'),
+ ('forceDarkModeImagePolicy', '2'),
],
),
])
@@ -111,37 +105,12 @@ def test_basics(config_stub, settings, expected):
for k, v in settings.items():
config_stub.set_obj('colors.webpage.darkmode.' + k, v)
- if expected:
- expected.append(('darkModeImagePolicy', '2'))
-
- # Using Qt 5.15.1 because it has the least special cases.
- versions = version.WebEngineVersions.from_pyqt('5.15.1')
+ # Using Qt 5.15.2 because it has the least special cases.
+ versions = version.WebEngineVersions.from_pyqt('5.15.2')
darkmode_settings = darkmode.settings(versions=versions, special_flags=[])
assert darkmode_settings['blink-settings'] == expected
-QT_514_SETTINGS = {'blink-settings': [
- ('darkMode', '2'),
- ('darkModeImagePolicy', '2'),
- ('darkModeGrayscale', 'true'),
-]}
-
-
-QT_515_0_SETTINGS = {'blink-settings': [
- ('darkModeEnabled', 'true'),
- ('darkModeInversionAlgorithm', '2'),
- ('darkModeGrayscale', 'true'),
-]}
-
-
-QT_515_1_SETTINGS = {'blink-settings': [
- ('darkModeEnabled', 'true'),
- ('darkModeInversionAlgorithm', '2'),
- ('darkModeImagePolicy', '2'),
- ('darkModeGrayscale', 'true'),
-]}
-
-
QT_515_2_SETTINGS = {'blink-settings': [
('preferredColorScheme', '2'), # QTBUG-89753
('forceDarkModeEnabled', 'true'),
@@ -162,13 +131,6 @@ QT_515_3_SETTINGS = {
@pytest.mark.parametrize('qversion, expected', [
- ('5.14.0', QT_514_SETTINGS),
- ('5.14.1', QT_514_SETTINGS),
- ('5.14.2', QT_514_SETTINGS),
-
- ('5.15.0', QT_515_0_SETTINGS),
- ('5.15.1', QT_515_1_SETTINGS),
-
('5.15.2', QT_515_2_SETTINGS),
('5.15.3', QT_515_3_SETTINGS),
])
@@ -186,7 +148,6 @@ def test_qt_version_differences(config_stub, qversion, expected):
assert darkmode_settings == expected
-@testutils.qt514
@pytest.mark.parametrize('setting, value, exp_key, exp_val', [
('contrast', -0.5,
'Contrast', '-0.5'),
@@ -207,25 +168,23 @@ def test_customization(config_stub, setting, value, exp_key, exp_val):
config_stub.val.colors.webpage.darkmode.enabled = True
config_stub.set_obj('colors.webpage.darkmode.' + setting, value)
- expected = []
- expected.append(('darkModeEnabled', 'true'))
+ expected = [
+ ('preferredColorScheme', '2'),
+ ('forceDarkModeEnabled', 'true'),
+ ]
if exp_key != 'ImagePolicy':
- expected.append(('darkModeImagePolicy', '2'))
- expected.append(('darkMode' + exp_key, exp_val))
+ expected.append(('forceDarkModeImagePolicy', '2'))
+ expected.append(('forceDarkMode' + exp_key, exp_val))
- versions = version.WebEngineVersions.from_pyqt('5.15.1')
+ versions = version.WebEngineVersions.from_pyqt('5.15.2')
darkmode_settings = darkmode.settings(versions=versions, special_flags=[])
assert darkmode_settings['blink-settings'] == expected
@pytest.mark.parametrize('webengine_version, expected', [
- ('5.13.0', darkmode.Variant.qt_511_to_513),
- ('5.14.0', darkmode.Variant.qt_514),
- ('5.15.0', darkmode.Variant.qt_515_0),
- ('5.15.1', darkmode.Variant.qt_515_1),
('5.15.2', darkmode.Variant.qt_515_2),
('5.15.3', darkmode.Variant.qt_515_3),
- ('6.0.0', darkmode.Variant.qt_515_3),
+ ('6.2.0', darkmode.Variant.qt_515_3),
])
def test_variant(webengine_version, expected):
versions = version.WebEngineVersions.from_pyqt(webengine_version)
@@ -237,11 +196,11 @@ def test_variant_gentoo_workaround(gentoo_versions):
@pytest.mark.parametrize('value, is_valid, expected', [
- ('invalid_value', False, darkmode.Variant.qt_515_0),
+ ('invalid_value', False, darkmode.Variant.qt_515_3),
('qt_515_2', True, darkmode.Variant.qt_515_2),
])
def test_variant_override(monkeypatch, caplog, value, is_valid, expected):
- versions = version.WebEngineVersions.from_pyqt('5.15.0')
+ versions = version.WebEngineVersions.from_pyqt('5.15.3')
monkeypatch.setenv('QUTE_DARKMODE_VARIANT', value)
with caplog.at_level(logging.WARNING):
@@ -251,25 +210,6 @@ def test_variant_override(monkeypatch, caplog, value, is_valid, expected):
assert (log_msg in caplog.messages) != is_valid
-def test_broken_smart_images_policy(config_stub, caplog):
- config_stub.val.colors.webpage.darkmode.enabled = True
- config_stub.val.colors.webpage.darkmode.policy.images = 'smart'
- versions = version.WebEngineVersions.from_pyqt('5.15.0')
-
- with caplog.at_level(logging.WARNING):
- darkmode_settings = darkmode.settings(versions=versions, special_flags=[])
-
- assert caplog.messages[-1] == (
- 'Ignoring colors.webpage.darkmode.policy.images = smart because of '
- 'Qt 5.15.0 bug')
-
- expected = [
- [('darkModeEnabled', 'true')], # Qt 5.15
- [('darkMode', '4')], # Qt 5.14
- ]
- assert darkmode_settings['blink-settings'] in expected
-
-
@pytest.mark.parametrize('flag, expected', [
('--blink-settings=key=value', [('key', 'value')]),
('--blink-settings=key=equal=rights', [('key', 'equal=rights')]),
@@ -278,12 +218,13 @@ def test_broken_smart_images_policy(config_stub, caplog):
])
def test_pass_through_existing_settings(config_stub, flag, expected):
config_stub.val.colors.webpage.darkmode.enabled = True
- versions = version.WebEngineVersions.from_pyqt('5.15.1')
+ versions = version.WebEngineVersions.from_pyqt('5.15.2')
settings = darkmode.settings(versions=versions, special_flags=[flag])
dark_mode_expected = [
- ('darkModeEnabled', 'true'),
- ('darkModeImagePolicy', '2'),
+ ('preferredColorScheme', '2'),
+ ('forceDarkModeEnabled', 'true'),
+ ('forceDarkModeImagePolicy', '2'),
]
assert settings['blink-settings'] == expected + dark_mode_expected
@@ -303,4 +244,3 @@ def test_options(configdata_init):
if opt.raw_backends is not None:
assert not opt.raw_backends['QtWebKit'], name
- assert opt.raw_backends['QtWebEngine'] == 'Qt 5.14', name