diff options
Diffstat (limited to 'test/t/test_env.py')
-rw-r--r-- | test/t/test_env.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/t/test_env.py b/test/t/test_env.py index 3d1a684..7608a4b 100644 --- a/test/t/test_env.py +++ b/test/t/test_env.py @@ -1,7 +1,44 @@ import pytest +from conftest import assert_complete + class TestEnv: @pytest.mark.complete("env --", require_longopt=True) def test_1(self, completion): assert completion + + @pytest.mark.complete("env __unknown_variable__=") + def test_unknown_variable_falls_back_to_filedir(self, completion): + assert "shared/" in completion + + @pytest.mark.complete("env LANG=", xfail="! locale -a &>/dev/null") + def test_lang_envvar(self, completion): + assert any(x == "C" or x.startswith("C.") for x in completion) + + @pytest.mark.parametrize( + "opts", + [ + "", + "foo=bar", + "--debug", + "--debug foo=bar", + "-", + "- foo=bar", + ], + ) + def test_command(self, bash, opts): + completion = assert_complete(bash, "env %s s" % opts) + assert completion == "h" or "sh" in completion + + @pytest.mark.parametrize( + "opts", + [ + "foo=bar --non-existent", + "- --non-existent", + "-- --non-existent", + ], + ) + def test_option_like_command(self, bash, opts): + completion = assert_complete(bash, "env %s s" % opts) + assert not (completion == "h" or "sh" in completion) |