summaryrefslogtreecommitdiffstats
path: root/tests/check_json_test.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2022-01-30 11:02:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-21 20:41:55 +0000
commitd4583dcad7d68d3c1503b04ec0d3364809304807 (patch)
tree82456c5d0bc77961759812ddd85414435ba89127 /tests/check_json_test.py
parentInitial commit. (diff)
downloadpre-commit-hooks-d4583dcad7d68d3c1503b04ec0d3364809304807.tar.xz
pre-commit-hooks-d4583dcad7d68d3c1503b04ec0d3364809304807.zip
Adding upstream version 4.5.0+dfsg.upstream/4.5.0+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/check_json_test.py')
-rw-r--r--tests/check_json_test.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/check_json_test.py b/tests/check_json_test.py
new file mode 100644
index 0000000..53e1f52
--- /dev/null
+++ b/tests/check_json_test.py
@@ -0,0 +1,28 @@
+from __future__ import annotations
+
+import pytest
+
+from pre_commit_hooks.check_json import main
+from testing.util import get_resource_path
+
+
+@pytest.mark.parametrize(
+ ('filename', 'expected_retval'), (
+ ('bad_json.notjson', 1),
+ ('bad_json_latin1.nonjson', 1),
+ ('ok_json.json', 0),
+ ('duplicate_key_json.notjson', 1),
+ ),
+)
+def test_main(capsys, filename, expected_retval):
+ ret = main([get_resource_path(filename)])
+ assert ret == expected_retval
+ if expected_retval == 1:
+ stdout, _ = capsys.readouterr()
+ assert filename in stdout
+
+
+def test_non_utf8_file(tmpdir):
+ f = tmpdir.join('t.json')
+ f.write_binary(b'\xa9\xfe\x12')
+ assert main((str(f),))