pager_in_use: use git_env_bool()
[gitweb.git] / t / t4032-diff-inter-hunk-context.sh
index e4e3e28fc788fd16c73298a0c385f1b39994941e..bada0cbd32f76418a76702fbbd5143004876d074 100755 (executable)
@@ -16,11 +16,15 @@ f() {
 }
 
 t() {
+       use_config=
+       git config --unset diff.interHunkContext
+
        case $# in
        4) hunks=$4; cmd="diff -U$3";;
        5) hunks=$5; cmd="diff -U$3 --inter-hunk-context=$4";;
+       6) hunks=$5; cmd="diff -U$3"; git config diff.interHunkContext $4; use_config="(diff.interHunkContext=$4) ";;
        esac
-       label="$cmd, $1 common $2"
+       label="$use_config$cmd, $1 common $2"
        file=f$1
        expected=expected.$file.$3.$hunks
 
@@ -89,4 +93,25 @@ t 9 lines    3               2
 t 9 lines      3       2       2
 t 9 lines      3       3       1
 
+#                                      use diff.interHunkContext?
+t 1 line       0       0       2       config
+t 1 line       0       1       1       config
+t 1 line       0       2       1       config
+t 9 lines      3       3       1       config
+t 2 lines      0       0       2       config
+t 2 lines      0       1       2       config
+t 2 lines      0       2       1       config
+t 3 lines      1       0       2       config
+t 3 lines      1       1       1       config
+t 3 lines      1       2       1       config
+t 9 lines      3       2       2       config
+t 9 lines      3       3       1       config
+
+test_expect_success 'diff.interHunkContext invalid' '
+       git config diff.interHunkContext asdf &&
+       test_must_fail git diff &&
+       git config diff.interHunkContext -1 &&
+       test_must_fail git diff
+'
+
 test_done