File: test_set.py

package info (click to toggle)
bash-completion 1%3A2.16.0-7
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 7,424 kB
  • sloc: python: 11,241; makefile: 2,471; sh: 934; perl: 85; awk: 55; xml: 29; ansic: 7; java: 5; ruby: 2
file content (26 lines) | stat: -rw-r--r-- 934 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import pytest

from conftest import assert_complete


class TestSet:
    @pytest.mark.parametrize("dash", ["", "-", "--"])
    def test_basic(self, bash, dash):
        completion = assert_complete(bash, f"set {dash} ")
        assert completion

    @pytest.mark.parametrize("prefix", ["-", "+"])
    def test_options(self, bash, prefix):
        completion = assert_complete(bash, f"set {prefix}")
        assert f"{prefix}o" in completion
        assert "+-" not in completion

    @pytest.mark.parametrize("prefix", ["-", "+"])
    def test_o_args(self, bash, prefix):
        completion = assert_complete(bash, f"set {prefix}o ")
        assert any(x.startswith("no") for x in completion)

    @pytest.mark.parametrize("dash,prefix", [["-", "--"], ["-", "+"]])
    def test_options_after_dash_or_dashdash(self, bash, dash, prefix):
        completion = assert_complete(bash, f"set {dash} {prefix}")
        assert not completion