diff options
Diffstat (limited to 'tests/unit/config/test_qtargs.py')
-rw-r--r-- | tests/unit/config/test_qtargs.py | 41 |
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. |