summaryrefslogtreecommitdiffstats
path: root/tests/check_symlinks_test.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/check_symlinks_test.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/check_symlinks_test.py b/tests/check_symlinks_test.py
new file mode 100644
index 0000000..e2c2c78
--- /dev/null
+++ b/tests/check_symlinks_test.py
@@ -0,0 +1,25 @@
+from __future__ import annotations
+
+import os
+
+import pytest
+
+from pre_commit_hooks.check_symlinks import main
+
+
+xfail_symlink = pytest.mark.xfail(os.name == 'nt', reason='No symlink support')
+
+
+@xfail_symlink
+@pytest.mark.parametrize(
+ ('dest', 'expected'), (('exists', 0), ('does-not-exist', 1)),
+)
+def test_main(tmpdir, dest, expected): # pragma: no cover (symlinks)
+ tmpdir.join('exists').ensure()
+ symlink = tmpdir.join('symlink')
+ symlink.mksymlinkto(tmpdir.join(dest))
+ assert main((str(symlink),)) == expected
+
+
+def test_main_normal_file(tmpdir):
+ assert main((str(tmpdir.join('f').ensure()),)) == 0