From f556e4af2790bc8f0918093bd2b3053c7d2898dc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20Kiedrowicz?= Date: Sun, 22 May 2011 13:37:28 +0200 Subject: [PATCH] git-grep: Update tests (mainly for -P) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Add few more tests for "-P/--perl-regexp" option of "git grep". While at it, add some generic tests for grep.extendedRegexp config option, for detecting invalid regexep and check if "last one wins" rule works for selecting regexp type. Signed-off-by: Michał Kiedrowicz Signed-off-by: Junio C Hamano --- t/t7810-grep.sh | 85 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh index e845218f6..e061108a6 100755 --- a/t/t7810-grep.sh +++ b/t/t7810-grep.sh @@ -32,6 +32,11 @@ test_expect_success setup ' echo Hello_world echo HeLLo_world } >hello_world && + { + echo aab + echo a+b + echo a\\+b + } >ab && echo vvv >v && echo ww w >w && echo x x xx x >x && @@ -227,7 +232,17 @@ do git grep --max-depth 0 -n -e vvv $H -- t . >actual && test_cmp expected actual ' + test_expect_success "grep $L with grep.extendedRegexp=false" ' + echo "ab:a+b" >expected && + git -c grep.extendedRegexp=false grep "a+b" >actual && + test_cmp expected actual + ' + test_expect_success "grep $L with grep.extendedRegexp=true" ' + echo "ab:aab" >expected && + git -c grep.extendedRegexp=true grep "a+b" >actual && + test_cmp expected actual + ' done cat >expected <empty && + test_must_fail git -c grep.extendedregexp=true \ + grep "\p{Ps}.*?\p{Pe}" hello.c >actual && + test_cmp empty actual +' + +test_expect_success LIBPCRE 'grep -P pattern with grep.extendedRegexp=true' ' + git -c grep.extendedregexp=true \ + grep -P "\p{Ps}.*?\p{Pe}" hello.c >actual && + test_cmp expected actual +' + +test_expect_success LIBPCRE 'grep -P -v pattern' ' + { + echo ab:a+b + echo ab:a\\+b + } >expected && + git grep -P -v "aab" ab >actual && + test_cmp expected actual +' + test_expect_success LIBPCRE 'grep -P -i pattern' ' { echo "hello.c: printf(\"Hello world.\n\");" @@ -637,4 +674,52 @@ test_expect_success LIBPCRE 'grep -P -w pattern' ' test_cmp expected actual ' +test_expect_success 'grep -G invalidpattern properly dies ' ' + test_must_fail git grep -G "a[" +' + +test_expect_success 'grep -E invalidpattern properly dies ' ' + test_must_fail git grep -E "a[" +' + +test_expect_success LIBPCRE 'grep -P invalidpattern properly dies ' ' + test_must_fail git grep -P "a[" +' + +test_expect_success 'grep -F -E -G pattern' ' + echo ab:a+b >expected && + git grep -F -E -G a+b >actual && + test_cmp expected actual +' + +test_expect_success 'grep -F -G -E pattern' ' + echo ab:aab >expected && + git grep -F -G -E a+b >actual && + test_cmp expected actual +' + +test_expect_success 'grep -E -F -G pattern' ' + echo ab:aab >expected && + git grep -E -F -G a\\+b >actual && + test_cmp expected actual +' + +test_expect_success 'grep -E -G -F pattern' ' + echo ab:a\\+b >expected && + git grep -E -G -F a\\+b >actual && + test_cmp expected actual +' + +test_expect_success 'grep -G -F -E pattern' ' + echo ab:a+b >expected && + git grep -G -F -E a\\+b >actual && + test_cmp expected actual +' + +test_expect_success LIBPCRE 'grep -E -G -F -P pattern' ' + echo ab:a+b >expected && + git grep -E -G -F -P a\\+b >actual && + test_cmp expected actual +' + test_done -- 2.30.2