diff options
Diffstat (limited to 'test/t/test_ls.py')
-rw-r--r-- | test/t/test_ls.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/t/test_ls.py b/test/t/test_ls.py new file mode 100644 index 0000000..8abcb59 --- /dev/null +++ b/test/t/test_ls.py @@ -0,0 +1,40 @@ +import pytest + +from conftest import ( + assert_bash_exec, + assert_complete, + find_unique_completion_pair, +) + + +class TestLs: + @pytest.mark.complete( + "ls --", require_cmd=True, xfail="! ls --help &>/dev/null" + ) + def test_1(self, completion): + assert completion + + @pytest.mark.complete("ls ~") + def test_2(self, completion): + assert completion + + def test_3(self, bash): + """~part should complete to ~full<SPACE> if home dir does not exist.""" + res = ( + assert_bash_exec( + bash, + "for u in $(compgen -u); do " + "eval test -d ~$u || echo $u; unset u; done", + want_output=True, + ) + .strip() + .split() + ) + part_full = find_unique_completion_pair(res) + if not part_full: + pytest.skip("No suitable test user found") + return + part, full = part_full + completion = assert_complete(bash, "ls ~%s" % part) + assert completion == full[len(part) :] + assert completion.endswith(" ") |