diff options
Diffstat (limited to '')
-rw-r--r-- | tests/test_utils.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/test_utils.py b/tests/test_utils.py new file mode 100644 index 0000000..e1dc87e --- /dev/null +++ b/tests/test_utils.py @@ -0,0 +1,20 @@ +from typing import Sequence, Union + +import pytest + +from debputy.util import escape_shell + + +@pytest.mark.parametrize( + "arg,expected", + [ + ("foo bar", '"foo bar"'), + ("a'b", r"""a\'b"""), + ("foo=bar and baz", 'foo="bar and baz"'), + ("--foo=bar and baz", '--foo="bar and baz"'), + ("--foo with spaces=bar and baz", '"--foo with spaces=bar and baz"'), + ], +) +def test_symlink_normalization(arg: Union[str, Sequence[str]], expected: str) -> None: + actual = escape_shell(arg) if isinstance(arg, str) else escape_shell(*arg) + assert actual == expected |