t9350: fix encoding test to actually test reencoding

This test used an author with non-ascii characters in the name, but no
special commit message.  It then grep'ed for those non-ascii characters,
but those are guaranteed to exist regardless of the reencoding process
since the reencoding only affects the commit message, not the author or
committer names.  As such, the test would work even if the re-encoding
process simply stripped the commit message entirely.  Modify the test to
actually check that the reencoding into UTF-8 worked.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Elijah Newren 2019-05-13 21:30:58 -07:00 коммит произвёл Junio C Hamano
Родитель 83232e3864
Коммит 32615ce762
2 изменённых файлов: 18 добавлений и 10 удалений

Просмотреть файл

@ -94,22 +94,30 @@ test_expect_success 'fast-export --show-original-ids | git fast-import' '
test $MUSS = $(git rev-parse --verify refs/tags/muss) test $MUSS = $(git rev-parse --verify refs/tags/muss)
' '
test_expect_success 'iso-8859-1' ' test_expect_success 'iso-8859-7' '
git config i18n.commitencoding ISO8859-1 && test_when_finished "git reset --hard HEAD~1" &&
# use author and committer name in ISO-8859-1 to match it. test_config i18n.commitencoding iso-8859-7 &&
. "$TEST_DIRECTORY"/t3901/8859-1.txt &&
test_tick && test_tick &&
echo rosten >file && echo rosten >file &&
git commit -s -m den file && git commit -s -F "$TEST_DIRECTORY/t9350/simple-iso-8859-7-commit-message.txt" file &&
git fast-export wer^..wer >iso8859-1.fi && git fast-export wer^..wer >iso-8859-7.fi &&
sed "s/wer/i18n/" iso8859-1.fi | sed "s/wer/i18n/" iso-8859-7.fi |
(cd new && (cd new &&
git fast-import && git fast-import &&
# The commit object, if not re-encoded, would be 240 bytes.
# Removing the "encoding iso-8859-7\n" header drops 20 bytes.
# Re-encoding the Pi character from \xF0 (\360) in iso-8859-7
# to \xCF\x80 (\317\200) in UTF-8 adds a byte. Check for
# the expected size.
test 221 -eq "$(git cat-file -s i18n)" &&
# ...and for the expected translation of bytes.
git cat-file commit i18n >actual && git cat-file commit i18n >actual &&
grep "Áéí óú" actual) grep $(printf "\317\200") actual &&
# Also make sure the commit does not have the "encoding" header
! grep ^encoding actual)
' '
test_expect_success 'import/export-marks' ' test_expect_success 'import/export-marks' '
git checkout -b marks master && git checkout -b marks master &&
@ -224,7 +232,6 @@ GIT_COMMITTER_NAME='C O Mitter'; export GIT_COMMITTER_NAME
test_expect_success 'setup copies' ' test_expect_success 'setup copies' '
git config --unset i18n.commitencoding &&
git checkout -b copy rein && git checkout -b copy rein &&
git mv file file3 && git mv file file3 &&
git commit -m move1 && git commit -m move1 &&

Просмотреть файл

@ -0,0 +1 @@
Pi: <20>