From 6649e180bb14c16ecda7820d5ff95c61d20c52c7 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Sun, 16 Mar 2014 19:11:33 -0700 Subject: [PATCH] Adds some tests for get_files_matching --- tests/git_test.py | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/tests/git_test.py b/tests/git_test.py index 7dc5d05e..fe17ab9b 100644 --- a/tests/git_test.py +++ b/tests/git_test.py @@ -1,7 +1,8 @@ import os - +import pytest from plumbum import local + from pre_commit import git @@ -37,3 +38,38 @@ def test_remove_pre_commit(empty_git_dir): assert not os.path.exists(git.get_pre_commit_path()) +@pytest.fixture +def get_files_matching_func(): + def get_filenames(): + return ( + 'foo.py', + 'bar/baz.py', + 'tests/baz_test.py', + 'manifest.yaml', + ) + + return git.get_files_matching(get_filenames) + + +def test_get_files_matching_base(get_files_matching_func): + ret = get_files_matching_func('') + assert ret == set([ + 'foo.py', + 'bar/baz.py', + 'tests/baz_test.py', + 'manifest.yaml', + ]) + + +def test_get_files_matching_total_match(get_files_matching_func): + ret = get_files_matching_func('^.*\.py$') + assert ret == set([ + 'foo.py', + 'bar/baz.py', + 'tests/baz_test.py', + ]) + + +def test_does_search_instead_of_match(get_files_matching_func): + ret = get_files_matching_func('\.yaml$') + assert ret == set(['manifest.yaml'])