diff options
Diffstat (limited to 'test/t/test_java.py')
-rw-r--r-- | test/t/test_java.py | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/test/t/test_java.py b/test/t/test_java.py index 81f07c68..ce0f7733 100644 --- a/test/t/test_java.py +++ b/test/t/test_java.py @@ -1,25 +1,44 @@ import pytest +from conftest import is_bash_type + @pytest.mark.bashcomp( pre_cmds=("CLASSPATH=$PWD/java/a:$PWD/java/bashcomp.jar",) ) class TestJava: - @pytest.mark.complete("java -") + @pytest.fixture(scope="class") + def can_list_jar(self, bash): + return ( + is_bash_type(bash, "zipinfo") + or is_bash_type(bash, "unzip") + or is_bash_type(bash, "jar") + ) + + @pytest.mark.complete("java -", require_cmd=True) def test_1(self, completion): assert completion @pytest.mark.complete("java ") - def test_2(self, completion): - assert completion == "b bashcomp.jarred c. toplevel".split() + def test_2(self, completion, can_list_jar): + if can_list_jar: + assert completion == "b bashcomp.jarred c. toplevel".split() + else: + assert completion == "b c.".split() @pytest.mark.complete("java -classpath java/bashcomp.jar ") - def test_3(self, completion): - assert completion == "bashcomp.jarred toplevel".split() + def test_3(self, completion, can_list_jar): + if can_list_jar: + assert completion == "bashcomp.jarred toplevel".split() + else: + assert not completion @pytest.mark.complete("java -cp java/bashcomp.jar:java/a/c ") - def test_4(self, completion): - assert completion == "bashcomp.jarred d toplevel".split() + def test_4(self, completion, can_list_jar): + if can_list_jar: + assert completion == "bashcomp.jarred d toplevel".split() + else: + assert completion == ["d"] @pytest.mark.complete("java -cp '' ") def test_5(self, completion): |