summaryrefslogtreecommitdiff
path: root/tests/unit/config/test_qtargs.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/config/test_qtargs.py')
-rw-r--r--tests/unit/config/test_qtargs.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/unit/config/test_qtargs.py b/tests/unit/config/test_qtargs.py
index b050113b4..b38fab41d 100644
--- a/tests/unit/config/test_qtargs.py
+++ b/tests/unit/config/test_qtargs.py
@@ -428,6 +428,47 @@ class TestEnvVars:
assert os.environ[envvar] == expected
+ @pytest.mark.parametrize('init_val, config_val', [
+ ( # Test changing a set variable
+ {'QT_SCALE_FACTOR': '2'},
+ {'QT_SCALE_FACTOR': '4'},
+ ),
+ ( # Test setting an unset variable
+ {'QT_SCALE_FACTOR': None},
+ {'QT_SCALE_FACTOR': '3'},
+ ),
+ ( # Test unsetting a variable which is set
+ {'QT_SCALE_FACTOR': '3'},
+ {'QT_SCALE_FACTOR': None},
+ ),
+ ( # Test unsetting a variable which is unset
+ {'QT_SCALE_FACTOR': None},
+ {'QT_SCALE_FACTOR': None},
+ ),
+ ( # Test setting multiple variables
+ {'QT_SCALE_FACTOR': '0', 'QT_PLUGIN_PATH': '/usr/bin', 'QT_NEWVAR': None},
+ {'QT_SCALE_FACTOR': '3', 'QT_PLUGIN_PATH': '/tmp/', 'QT_NEWVAR': 'newval'},
+ )
+ ])
+ def test_environ_settings(self, monkeypatch, config_stub,
+ init_val, config_val):
+ """Test setting environment variables using qt.environ."""
+ for var, val in init_val.items():
+ if val is None:
+ monkeypatch.setenv(var, '0')
+ monkeypatch.delenv(var, raising=False)
+ else:
+ monkeypatch.setenv(var, val)
+
+ config_stub.val.qt.environ = config_val
+ qtargs.init_envvars()
+
+ for var, result in config_val.items():
+ if result is None:
+ assert var not in os.environ
+ else:
+ assert os.environ[var] == result
+
@pytest.mark.parametrize('new_qt', [True, False])
def test_highdpi(self, monkeypatch, config_stub, new_qt):
"""Test HighDPI environment variables.