t4041, t4205, t6006, t7102: don't hardcode tested encoding value

The tested encoding is always available in a variable. Use it instead of
hardcoding. Also, to be in line with other tests use ISO8859-1
(uppercase) rather then iso8859-1.

Signed-off-by: Alexey Shumkin <Alex.Crezoff@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Alexey Shumkin 2014-05-21 17:20:04 +04:00 committed by Junio C Hamano
parent 496a69802b
commit ee3efaf66c
4 changed files with 39 additions and 27 deletions

View File

@ -11,6 +11,9 @@ This test tries to verify the sanity of the --submodule option of git diff.
. ./test-lib.sh . ./test-lib.sh
# Tested non-UTF-8 encoding
test_encoding="ISO8859-1"
# String "added" in German (translated with Google Translate), encoded in UTF-8, # String "added" in German (translated with Google Translate), encoded in UTF-8,
# used in sample commit log messages in add_file() function below. # used in sample commit log messages in add_file() function below.
added=$(printf "hinzugef\303\274gt") added=$(printf "hinzugef\303\274gt")
@ -23,8 +26,8 @@ add_file () {
echo "$name" >"$name" && echo "$name" >"$name" &&
git add "$name" && git add "$name" &&
test_tick && test_tick &&
msg_added_iso88591=$(echo "Add $name ($added $name)" | iconv -f utf-8 -t iso8859-1) && msg_added_iso88591=$(echo "Add $name ($added $name)" | iconv -f utf-8 -t $test_encoding) &&
git -c 'i18n.commitEncoding=iso8859-1' commit -m "$msg_added_iso88591" git -c "i18n.commitEncoding=$test_encoding" commit -m "$msg_added_iso88591"
done >/dev/null && done >/dev/null &&
git rev-parse --short --verify HEAD git rev-parse --short --verify HEAD
) )

View File

@ -7,6 +7,9 @@
test_description='Test pretty formats' test_description='Test pretty formats'
. ./test-lib.sh . ./test-lib.sh
# Tested non-UTF-8 encoding
test_encoding="ISO8859-1"
sample_utf8_part=$(printf "f\303\244ng") sample_utf8_part=$(printf "f\303\244ng")
commit_msg () { commit_msg () {
@ -27,8 +30,8 @@ test_expect_success 'set up basic repos' '
>bar && >bar &&
git add foo && git add foo &&
test_tick && test_tick &&
git config i18n.commitEncoding iso8859-1 && git config i18n.commitEncoding $test_encoding &&
git commit -m "$(commit_msg iso8859-1)" && git commit -m "$(commit_msg $test_encoding)" &&
git add bar && git add bar &&
test_tick && test_tick &&
git commit -m "add bar" && git commit -m "add bar" &&
@ -56,8 +59,8 @@ test_expect_success 'alias user-defined format' '
test_cmp expected actual test_cmp expected actual
' '
test_expect_success 'alias user-defined tformat with %s (iso8859-1 encoding)' ' test_expect_success 'alias user-defined tformat with %s (ISO8859-1 encoding)' '
git config i18n.logOutputEncoding iso8859-1 && git config i18n.logOutputEncoding $test_encoding &&
git log --oneline >expected-s && git log --oneline >expected-s &&
git log --pretty="tformat:%h %s" >actual-s && git log --pretty="tformat:%h %s" >actual-s &&
git config --unset i18n.logOutputEncoding && git config --unset i18n.logOutputEncoding &&

View File

@ -9,19 +9,22 @@ test_description='git rev-list --pretty=format test'
. "$TEST_DIRECTORY"/lib-terminal.sh . "$TEST_DIRECTORY"/lib-terminal.sh
test_tick test_tick
# Tested non-UTF-8 encoding
test_encoding="ISO8859-1"
# String "added" in German # String "added" in German
# (translated with Google Translate), # (translated with Google Translate),
# encoded in UTF-8, used as a commit log message below. # encoded in UTF-8, used as a commit log message below.
added=$(printf "added (hinzugef\303\274gt) foo") added=$(printf "added (hinzugef\303\274gt) foo")
added_iso88591=$(echo "$added" | iconv -f utf-8 -t iso8859-1) added_iso88591=$(echo "$added" | iconv -f utf-8 -t $test_encoding)
# same but "changed" # same but "changed"
changed=$(printf "changed (ge\303\244ndert) foo") changed=$(printf "changed (ge\303\244ndert) foo")
changed_iso88591=$(echo "$changed" | iconv -f utf-8 -t iso8859-1) changed_iso88591=$(echo "$changed" | iconv -f utf-8 -t $test_encoding)
test_expect_success 'setup' ' test_expect_success 'setup' '
: >foo && : >foo &&
git add foo && git add foo &&
git config i18n.commitEncoding iso8859-1 && git config i18n.commitEncoding $test_encoding &&
git commit -m "$added_iso88591" && git commit -m "$added_iso88591" &&
head1=$(git rev-parse --verify HEAD) && head1=$(git rev-parse --verify HEAD) &&
head1_short=$(git rev-parse --verify --short $head1) && head1_short=$(git rev-parse --verify --short $head1) &&
@ -124,9 +127,9 @@ EOF
test_format encoding %e <<EOF test_format encoding %e <<EOF
commit $head2 commit $head2
iso8859-1 $test_encoding
commit $head1 commit $head1
iso8859-1 $test_encoding
EOF EOF
test_format subject %s <<EOF test_format subject %s <<EOF
@ -203,16 +206,16 @@ test_expect_success '%C(auto) respects --color=auto (stdout not tty)' '
) )
' '
iconv -f utf-8 -t iso8859-1 > commit-msg <<EOF iconv -f utf-8 -t $test_encoding > commit-msg <<EOF
Test printing of complex bodies Test printing of complex bodies
This commit message is much longer than the others, This commit message is much longer than the others,
and it will be encoded in iso8859-1. We should therefore and it will be encoded in $test_encoding. We should therefore
include an iso8859 character: ¡bueno! include an ISO8859 character: ¡bueno!
EOF EOF
test_expect_success 'setup complex body' ' test_expect_success 'setup complex body' '
git config i18n.commitencoding iso8859-1 && git config i18n.commitencoding $test_encoding &&
echo change2 >foo && git commit -a -F commit-msg && echo change2 >foo && git commit -a -F commit-msg &&
head3=$(git rev-parse --verify HEAD) && head3=$(git rev-parse --verify HEAD) &&
head3_short=$(git rev-parse --short $head3) head3_short=$(git rev-parse --short $head3)
@ -220,11 +223,11 @@ test_expect_success 'setup complex body' '
test_format complex-encoding %e <<EOF test_format complex-encoding %e <<EOF
commit $head3 commit $head3
iso8859-1 $test_encoding
commit $head2 commit $head2
iso8859-1 $test_encoding
commit $head1 commit $head1
iso8859-1 $test_encoding
EOF EOF
test_format complex-subject %s <<EOF test_format complex-subject %s <<EOF
@ -240,16 +243,16 @@ test_expect_success 'prepare expected messages (for test %b)' '
cat <<-EOF >expected.utf-8 && cat <<-EOF >expected.utf-8 &&
commit $head3 commit $head3
This commit message is much longer than the others, This commit message is much longer than the others,
and it will be encoded in iso8859-1. We should therefore and it will be encoded in $test_encoding. We should therefore
include an iso8859 character: ¡bueno! include an ISO8859 character: ¡bueno!
commit $head2 commit $head2
commit $head1 commit $head1
EOF EOF
iconv -f utf-8 -t iso8859-1 expected.utf-8 >expected.iso8859-1 iconv -f utf-8 -t $test_encoding expected.utf-8 >expected.ISO8859-1
' '
test_format complex-body %b <expected.iso8859-1 test_format complex-body %b <expected.ISO8859-1
# Git uses i18n.commitEncoding if no i18n.logOutputEncoding set # Git uses i18n.commitEncoding if no i18n.logOutputEncoding set
# so unset i18n.commitEncoding to test encoding conversion # so unset i18n.commitEncoding to test encoding conversion

View File

@ -22,6 +22,9 @@ commit_msg () {
fi fi
} }
# Tested non-UTF-8 encoding
test_encoding="ISO8859-1"
test_expect_success 'creating initial files and commits' ' test_expect_success 'creating initial files and commits' '
test_tick && test_tick &&
echo "1st file" >first && echo "1st file" >first &&
@ -41,7 +44,7 @@ test_expect_success 'creating initial files and commits' '
echo "1st line 2nd file" >secondfile && echo "1st line 2nd file" >secondfile &&
echo "2nd line 2nd file" >>secondfile && echo "2nd line 2nd file" >>secondfile &&
git -c "i18n.commitEncoding=iso8859-1" commit -a -m "$(commit_msg iso8859-1)" && git -c "i18n.commitEncoding=$test_encoding" commit -a -m "$(commit_msg $test_encoding)" &&
head5=$(git rev-parse --verify HEAD) head5=$(git rev-parse --verify HEAD)
' '
# git log --pretty=oneline # to see those SHA1 involved # git log --pretty=oneline # to see those SHA1 involved
@ -64,10 +67,10 @@ test_expect_success 'reset --hard message' '
test_cmp .expected .actual test_cmp .expected .actual
' '
test_expect_success 'reset --hard message (iso8859-1 logoutputencoding)' ' test_expect_success 'reset --hard message (ISO8859-1 logoutputencoding)' '
hex=$(git log -1 --format="%h") && hex=$(git log -1 --format="%h") &&
git -c "i18n.logOutputEncoding=iso8859-1" reset --hard > .actual && git -c "i18n.logOutputEncoding=$test_encoding" reset --hard > .actual &&
echo HEAD is now at $hex $(commit_msg iso8859-1) > .expected && echo HEAD is now at $hex $(commit_msg $test_encoding) > .expected &&
test_cmp .expected .actual test_cmp .expected .actual
' '
@ -331,7 +334,7 @@ test_expect_success 'redoing the last two commits should succeed' '
echo "1st line 2nd file" >secondfile && echo "1st line 2nd file" >secondfile &&
echo "2nd line 2nd file" >>secondfile && echo "2nd line 2nd file" >>secondfile &&
git -c "i18n.commitEncoding=iso8859-1" commit -a -m "$(commit_msg iso8859-1)" && git -c "i18n.commitEncoding=$test_encoding" commit -a -m "$(commit_msg $test_encoding)" &&
check_changes $head5 check_changes $head5
' '