From 63fad53303381388673073de580a32088a4ef0fe Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 24 Mar 2020 22:59:15 +0100 Subject: Adding upstream version 2.2.0. Signed-off-by: Daniel Baumann --- tests/meta_hooks/check_useless_excludes_test.py | 115 ++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 tests/meta_hooks/check_useless_excludes_test.py (limited to 'tests/meta_hooks/check_useless_excludes_test.py') diff --git a/tests/meta_hooks/check_useless_excludes_test.py b/tests/meta_hooks/check_useless_excludes_test.py new file mode 100644 index 0000000..d261e81 --- /dev/null +++ b/tests/meta_hooks/check_useless_excludes_test.py @@ -0,0 +1,115 @@ +from pre_commit.meta_hooks import check_useless_excludes +from testing.fixtures import add_config_to_repo + + +def test_useless_exclude_global(capsys, in_git_dir): + config = { + 'exclude': 'foo', + 'repos': [ + { + 'repo': 'meta', + 'hooks': [{'id': 'check-useless-excludes'}], + }, + ], + } + + add_config_to_repo(in_git_dir.strpath, config) + + assert check_useless_excludes.main(()) == 1 + + out, _ = capsys.readouterr() + out = out.strip() + assert "The global exclude pattern 'foo' does not match any files" == out + + +def test_useless_exclude_for_hook(capsys, in_git_dir): + config = { + 'repos': [ + { + 'repo': 'meta', + 'hooks': [{'id': 'check-useless-excludes', 'exclude': 'foo'}], + }, + ], + } + + add_config_to_repo(in_git_dir.strpath, config) + + assert check_useless_excludes.main(()) == 1 + + out, _ = capsys.readouterr() + out = out.strip() + expected = ( + "The exclude pattern 'foo' for check-useless-excludes " + 'does not match any files' + ) + assert expected == out + + +def test_useless_exclude_with_types_filter(capsys, in_git_dir): + config = { + 'repos': [ + { + 'repo': 'meta', + 'hooks': [ + { + 'id': 'check-useless-excludes', + 'exclude': '.pre-commit-config.yaml', + 'types': ['python'], + }, + ], + }, + ], + } + + add_config_to_repo(in_git_dir.strpath, config) + + assert check_useless_excludes.main(()) == 1 + + out, _ = capsys.readouterr() + out = out.strip() + expected = ( + "The exclude pattern '.pre-commit-config.yaml' for " + 'check-useless-excludes does not match any files' + ) + assert expected == out + + +def test_no_excludes(capsys, in_git_dir): + config = { + 'repos': [ + { + 'repo': 'meta', + 'hooks': [{'id': 'check-useless-excludes'}], + }, + ], + } + + add_config_to_repo(in_git_dir.strpath, config) + + assert check_useless_excludes.main(()) == 0 + + out, _ = capsys.readouterr() + assert out == '' + + +def test_valid_exclude(capsys, in_git_dir): + config = { + 'repos': [ + { + 'repo': 'meta', + 'hooks': [ + { + 'id': 'check-useless-excludes', + 'exclude': '.pre-commit-config.yaml', + }, + ], + }, + ], + } + + add_config_to_repo(in_git_dir.strpath, config) + + assert check_useless_excludes.main(()) == 0 + + out, _ = capsys.readouterr() + assert out == '' -- cgit v1.2.3