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.py71
1 files changed, 47 insertions, 24 deletions
diff --git a/tests/unit/browser/webengine/test_darkmode.py b/tests/unit/browser/webengine/test_darkmode.py
index 7d6a12716..bda05feb8 100644
--- a/tests/unit/browser/webengine/test_darkmode.py
+++ b/tests/unit/browser/webengine/test_darkmode.py
@@ -1,21 +1,10 @@
-# Copyright 2020-2021 Florian Bruhin (The Compiler) <mail@qutebrowser.org>
-
-# This file is part of qutebrowser.
-#
-# qutebrowser is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# qutebrowser is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# SPDX-FileCopyrightText: Florian Bruhin (The Compiler) <mail@qutebrowser.org>
#
-# You should have received a copy of the GNU General Public License
-# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
+# SPDX-License-Identifier: GPL-3.0-or-later
+
import logging
+from typing import List, Tuple
import pytest
@@ -115,7 +104,7 @@ QT_515_2_SETTINGS = {'blink-settings': [
('forceDarkModeEnabled', 'true'),
('forceDarkModeInversionAlgorithm', '2'),
('forceDarkModeImagePolicy', '2'),
- ('forceDarkModeGrayscale', 'true'),
+ ('forceDarkModeTextBrightnessThreshold', '100'),
]}
@@ -124,7 +113,16 @@ QT_515_3_SETTINGS = {
'dark-mode-settings': [
('InversionAlgorithm', '1'),
('ImagePolicy', '2'),
- ('IsGrayScale', 'true'),
+ ('TextBrightnessThreshold', '100'),
+ ],
+}
+
+QT_64_SETTINGS = {
+ 'blink-settings': [('forceDarkModeEnabled', 'true')],
+ 'dark-mode-settings': [
+ ('InversionAlgorithm', '1'),
+ ('ImagePolicy', '2'),
+ ('ForegroundBrightnessThreshold', '100'),
],
}
@@ -132,12 +130,13 @@ QT_515_3_SETTINGS = {
@pytest.mark.parametrize('qversion, expected', [
('5.15.2', QT_515_2_SETTINGS),
('5.15.3', QT_515_3_SETTINGS),
+ ('6.4', QT_64_SETTINGS),
])
def test_qt_version_differences(config_stub, qversion, expected):
settings = {
'enabled': True,
'algorithm': 'brightness-rgb',
- 'grayscale.all': True,
+ 'threshold.foreground': 100,
}
for k, v in settings.items():
config_stub.set_obj('colors.webpage.darkmode.' + k, v)
@@ -154,14 +153,10 @@ def test_qt_version_differences(config_stub, qversion, expected):
'PagePolicy', '1'),
('policy.images', 'smart',
'ImagePolicy', '2'),
- ('threshold.text', 100,
+ ('threshold.foreground', 100,
'TextBrightnessThreshold', '100'),
('threshold.background', 100,
'BackgroundBrightnessThreshold', '100'),
- ('grayscale.all', True,
- 'Grayscale', 'true'),
- ('grayscale.images', 0.5,
- 'ImageGrayscale', '0.5'),
])
def test_customization(config_stub, setting, value, exp_key, exp_val):
config_stub.val.colors.webpage.darkmode.enabled = True
@@ -175,15 +170,43 @@ def test_customization(config_stub, setting, value, exp_key, exp_val):
expected.append(('forceDarkModeImagePolicy', '2'))
expected.append(('forceDarkMode' + exp_key, exp_val))
- versions = version.WebEngineVersions.from_pyqt('5.15.2')
+ versions = version.WebEngineVersions.from_api(
+ qtwe_version='5.15.2',
+ chromium_version=None,
+ )
darkmode_settings = darkmode.settings(versions=versions, special_flags=[])
assert darkmode_settings['blink-settings'] == expected
+@pytest.mark.parametrize('qtwe_version, setting, value, expected', [
+ ('6.6.1', 'policy.images', 'always', [('ImagePolicy', '0')]),
+ ('6.6.1', 'policy.images', 'never', [('ImagePolicy', '1')]),
+ ('6.6.1', 'policy.images', 'smart', [('ImagePolicy', '2'), ('ImageClassifierPolicy', '0')]),
+ ('6.6.1', 'policy.images', 'smart-simple', [('ImagePolicy', '2'), ('ImageClassifierPolicy', '1')]),
+
+ ('6.5.3', 'policy.images', 'smart', [('ImagePolicy', '2')]),
+ ('6.5.3', 'policy.images', 'smart-simple', [('ImagePolicy', '2')]),
+])
+def test_image_policy(config_stub, qtwe_version: str, setting: str, value: str, expected: List[Tuple[str, str]]):
+ config_stub.val.colors.webpage.darkmode.enabled = True
+ config_stub.set_obj('colors.webpage.darkmode.' + setting, value)
+
+ versions = version.WebEngineVersions.from_api(
+ qtwe_version=qtwe_version,
+ chromium_version=None,
+ )
+ darkmode_settings = darkmode.settings(versions=versions, special_flags=[])
+ assert darkmode_settings['dark-mode-settings'] == expected
+
+
@pytest.mark.parametrize('webengine_version, expected', [
('5.15.2', darkmode.Variant.qt_515_2),
('5.15.3', darkmode.Variant.qt_515_3),
('6.2.0', darkmode.Variant.qt_515_3),
+ ('6.3.0', darkmode.Variant.qt_515_3),
+ ('6.4.0', darkmode.Variant.qt_64),
+ ('6.5.0', darkmode.Variant.qt_64),
+ ('6.6.0', darkmode.Variant.qt_66),
])
def test_variant(webengine_version, expected):
versions = version.WebEngineVersions.from_pyqt(webengine_version)