diff options
Diffstat (limited to 'test/t/test_slapt_src.py')
-rw-r--r-- | test/t/test_slapt_src.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/t/test_slapt_src.py b/test/t/test_slapt_src.py new file mode 100644 index 0000000..b55b722 --- /dev/null +++ b/test/t/test_slapt_src.py @@ -0,0 +1,43 @@ +import os +from tempfile import mkstemp + +import pytest + +from conftest import assert_complete, is_bash_type + + +@pytest.mark.bashcomp(cmd="slapt-src") +class TestSlaptSrc: + @pytest.fixture(scope="class") + def slapt_srcrc(self, request, bash): + fd, fname = mkstemp(prefix="slapt-srcrc.", text=True) + request.addfinalizer(lambda: os.remove(fname)) + with os.fdopen(fd, "w") as f: + print( + "BUILDDIR=%s/" + % os.path.join( + bash.cwd, *"slackware usr src slapt-src".split() + ), + file=f, + ) + return fname + + @pytest.mark.complete("slapt-src -", require_cmd=True) + def test_1(self, completion): + assert completion + + @pytest.mark.complete("slapt-src --bu", require_cmd=True) + def test_2(self, completion): + assert completion == "ild" or "--build" in completion + + @pytest.mark.complete("slapt-src --ins", require_cmd=True) + def test_3(self, completion): + assert completion == "tall" or "--install" in completion + + def test_install(self, bash, slapt_srcrc): + if not is_bash_type(bash, "slapt-src"): + pytest.skip("slapt-src not found") + completion = assert_complete( + bash, "slapt-src --config %s --install " % slapt_srcrc + ) + assert completion == "abc:4 qwe:2.1".split() |