1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-06 01:03:02 +01:00
git/t/t7005-editor.sh
Christian Couder 15387e32ff Test suite: reset TERM to its previous value after testing.
Using konsole, I get no colored output at the end of "t7005-editor.sh"
without this patch.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-26 23:17:19 -07:00

95 lines
1.6 KiB
Bash
Executable file

#!/bin/sh
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
echo "Edited by $i" >"\$1"
EOF
chmod +x e-$i.sh
done
unset vi
mv e-vi.sh vi
PATH=".:$PATH"
unset EDITOR VISUAL GIT_EDITOR
test_expect_success setup '
msg="Hand edited" &&
echo "$msg" >expect &&
git add vi &&
test_tick &&
git commit -m "$msg" &&
git show -s --pretty=oneline |
sed -e "s/^[0-9a-f]* //" >actual &&
diff actual expect
'
TERM=dumb
export TERM
test_expect_success 'dumb should error out when falling back on vi' '
if git commit --amend
then
echo "Oops?"
exit 1
else
: happy
fi
'
TERM=vt100
export TERM
for i in vi EDITOR VISUAL core_editor GIT_EDITOR
do
echo "Edited by $i" >expect
unset EDITOR VISUAL GIT_EDITOR
git config --unset-all core.editor
case "$i" in
core_editor)
git config core.editor ./e-core_editor.sh
;;
[A-Z]*)
eval "$i=./e-$i.sh"
export $i
;;
esac
test_expect_success "Using $i" '
git commit --amend &&
git show -s --pretty=oneline |
sed -e "s/^[0-9a-f]* //" >actual &&
diff actual expect
'
done
unset EDITOR VISUAL GIT_EDITOR
git config --unset-all core.editor
for i in vi EDITOR VISUAL core_editor GIT_EDITOR
do
echo "Edited by $i" >expect
case "$i" in
core_editor)
git config core.editor ./e-core_editor.sh
;;
[A-Z]*)
eval "$i=./e-$i.sh"
export $i
;;
esac
test_expect_success "Using $i (override)" '
git commit --amend &&
git show -s --pretty=oneline |
sed -e "s/^[0-9a-f]* //" >actual &&
diff actual expect
'
done
TERM="$OLD_TERM"
test_done