grep: Add basic tests
[gitweb.git] / t / t7811-grep-open.sh
index 8db4fc8b10893b95b4fd8c44de4bbf78d639d6d9..aedf484feeb9da05054f18ab2f4913865048fe35 100755 (executable)
@@ -61,7 +61,7 @@ test_expect_success SIMPLEPAGER 'git grep -O' '
        test_cmp empty out
 '
 
-test_expect_success 'git grep -O --cached' '
+test_expect_success C_LOCALE_OUTPUT 'git grep -O --cached' '
        test_must_fail git grep --cached -O GREP_PATTERN >out 2>msg &&
        grep open-files-in-pager msg
 '
@@ -84,10 +84,11 @@ test_expect_success 'git grep -O --no-index' '
 '
 
 test_expect_success 'setup: fake "less"' '
-       cat >less <<-\EOF
+       cat >less <<-\EOF &&
        #!/bin/sh
        printf "%s\n" "$@" >actual
        EOF
+       chmod +x less
 '
 
 test_expect_success 'git grep -O jumps to line in less' '
@@ -108,11 +109,6 @@ test_expect_success 'git grep -O jumps to line in less' '
 
 test_expect_success 'modified file' '
        rm -f actual &&
-       cat >less <<-\EOF &&
-       #!/bin/sh
-       printf "%s\n" "$@" >actual
-       EOF
-       chmod +x $less &&
        cat >expect <<-\EOF &&
        +/*enum grep_pat_token
        grep.h
@@ -129,6 +125,21 @@ test_expect_success 'modified file' '
        test_cmp empty out
 '
 
+test_config() {
+       git config "$1" "$2" &&
+       test_when_finished "git config --unset $1"
+}
+
+test_expect_success 'copes with color settings' '
+       rm -f actual &&
+       echo grep.h >expect &&
+       test_config color.grep always &&
+       test_config color.grep.filename yellow &&
+       test_config color.grep.separator green &&
+       git grep -O'\''printf "%s\n" >actual'\'' GREP_AND &&
+       test_cmp expect actual
+'
+
 test_expect_success 'run from subdir' '
        rm -f actual &&
        echo grep.c >expect &&