Merge branch 'maint-1.5.4' into maint
[gitweb.git] / t / t7005-editor.sh
index 01cc0c02b1c20afef664110389b88af702c52ef7..2d919d69ef110408b820c76185d6b8da63ea183e 100755 (executable)
@@ -4,8 +4,6 @@ test_description='GIT_EDITOR, core.editor, and stuff'
 
 . ./test-lib.sh
 
-OLD_TERM="$TERM"
-
 for i in GIT_EDITOR core_editor EDITOR VISUAL vi
 do
        cat >e-$i.sh <<-EOF
@@ -15,7 +13,6 @@ do
 done
 unset vi
 mv e-vi.sh vi
-PATH=".:$PATH"
 unset EDITOR VISUAL GIT_EDITOR
 
 test_expect_success setup '
@@ -38,7 +35,7 @@ test_expect_success 'dumb should error out when falling back on vi' '
        if git commit --amend
        then
                echo "Oops?"
-               exit 1
+               false
        else
                : happy
        fi
@@ -61,7 +58,7 @@ do
                ;;
        esac
        test_expect_success "Using $i" '
-               git commit --amend &&
+               git --exec-path=. commit --amend &&
                git show -s --pretty=oneline |
                sed -e "s/^[0-9a-f]* //" >actual &&
                diff actual expect
@@ -83,13 +80,38 @@ do
                ;;
        esac
        test_expect_success "Using $i (override)" '
-               git commit --amend &&
+               git --exec-path=. commit --amend &&
                git show -s --pretty=oneline |
                sed -e "s/^[0-9a-f]* //" >actual &&
                diff actual expect
        '
 done
 
-TERM="$OLD_TERM"
+test_expect_success 'editor with a space' '
+
+       if echo "echo space > \"\$1\"" > "e space.sh"
+       then
+               chmod a+x "e space.sh" &&
+               GIT_EDITOR="./e\ space.sh" git commit --amend &&
+               test space = "$(git show -s --pretty=format:%s)"
+       else
+               say "Skipping; FS does not support spaces in filenames"
+       fi
+
+'
+
+unset GIT_EDITOR
+test_expect_success 'core.editor with a space' '
+
+       if test -f "e space.sh"
+       then
+               git config core.editor \"./e\ space.sh\" &&
+               git commit --amend &&
+               test space = "$(git show -s --pretty=format:%s)"
+       else
+               say "Skipping; FS does not support spaces in filenames"
+       fi
+
+'
 
 test_done