summaryrefslogtreecommitdiffstats
path: root/tests/util_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/util_test.py')
-rw-r--r--tests/util_test.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/util_test.py b/tests/util_test.py
new file mode 100644
index 0000000..92473e5
--- /dev/null
+++ b/tests/util_test.py
@@ -0,0 +1,27 @@
+from __future__ import annotations
+
+import pytest
+
+from pre_commit_hooks.util import CalledProcessError
+from pre_commit_hooks.util import cmd_output
+from pre_commit_hooks.util import zsplit
+
+
+def test_raises_on_error():
+ with pytest.raises(CalledProcessError):
+ cmd_output('sh', '-c', 'exit 1')
+
+
+def test_output():
+ ret = cmd_output('sh', '-c', 'echo hi')
+ assert ret == 'hi\n'
+
+
+@pytest.mark.parametrize('out', ('\0f1\0f2\0', '\0f1\0f2', 'f1\0f2\0'))
+def test_check_zsplits_str_correctly(out):
+ assert zsplit(out) == ['f1', 'f2']
+
+
+@pytest.mark.parametrize('out', ('\0\0', '\0', ''))
+def test_check_zsplit_returns_empty(out):
+ assert zsplit(out) == []