summaryrefslogtreecommitdiffstats
path: root/tests/test_utils.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/test_utils.py20
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