On Mon, May 13, 2019 at 04:17:22PM -0700, Elijah Newren wrote: > 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 in utf-8 worked. (Not a native english speaker here): Should that be "...reencoding into utf-8 worked" ? > > Signed-off-by: Elijah Newren <newren@xxxxxxxxx> > --- > t/t9350-fast-export.sh | 27 ++++++++++++-------- > t/t9350/simple-iso-8859-7-commit-message.txt | 1 + > 2 files changed, 18 insertions(+), 10 deletions(-) > create mode 100644 t/t9350/simple-iso-8859-7-commit-message.txt > > diff --git a/t/t9350-fast-export.sh b/t/t9350-fast-export.sh > index 5690fe2810..c721026260 100755 > --- a/t/t9350-fast-export.sh > +++ b/t/t9350-fast-export.sh > @@ -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_expect_success 'iso-8859-1' ' > +test_expect_success 'iso-8859-7' ' > > - git config i18n.commitencoding ISO8859-1 && > - # use author and committer name in ISO-8859-1 to match it. > - . "$TEST_DIRECTORY"/t3901/8859-1.txt && > + test_when_finished "git reset --hard HEAD~1" && > + test_config i18n.commitencoding iso-8859-7 && > test_tick && > echo rosten >file && > - git commit -s -m den file && > - git fast-export wer^..wer >iso8859-1.fi && > - sed "s/wer/i18n/" iso8859-1.fi | > + git commit -s -F "$TEST_DIRECTORY/t9350/simple-iso-8859-7-commit-message.txt" file && > + git fast-export wer^..wer >iso-8859-7.fi && > + sed "s/wer/i18n/" iso-8859-7.fi | > (cd new && > 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 && > - 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' ' > > git checkout -b marks master && > @@ -224,7 +232,6 @@ GIT_COMMITTER_NAME='C O Mitter'; export GIT_COMMITTER_NAME > > test_expect_success 'setup copies' ' > > - git config --unset i18n.commitencoding && > git checkout -b copy rein && > git mv file file3 && > git commit -m move1 && > diff --git a/t/t9350/simple-iso-8859-7-commit-message.txt b/t/t9350/simple-iso-8859-7-commit-message.txt > new file mode 100644 > index 0000000000..8b3f0c3dba > --- /dev/null > +++ b/t/t9350/simple-iso-8859-7-commit-message.txt > @@ -0,0 +1 @@ > +Pi: ? > \ No newline at end of file > -- > 2.21.0.782.gd8be4ee826 >