| from __future__ import annotations |
| from pre_commit_hooks.check_json import main |
| from testing.util import get_resource_path |
| @pytest.mark.parametrize( |
| ('filename', 'expected_retval'), ( |
| ('bad_json_latin1.nonjson', 1), |
| ('duplicate_key_json.notjson', 1), |
| def test_main(capsys, filename, expected_retval): |
| ret = main([get_resource_path(filename)]) |
| assert ret == expected_retval |
| 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') |