mirror of
https://github.com/pre-commit/pre-commit-hooks.git
synced 2025-08-06 15:11:02 +08:00

python 3.6 reached end of life on 2021-12-23 Committed via https://github.com/asottile/all-repos
29 lines
720 B
Python
29 lines
720 B
Python
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),))
|