Re: [PATCH 12/12] t3901: test git-am encoding conversion
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Jul 8, 2015, 20:44 UTC
- Message-ID
- <559D8BA0.5090701@kdbg.org>
- In-Reply-To
- <1435861000-25278-13-git-send-email-pyokagan@gmail.com>
Am 02.07.2015 um 20:16 schrieb Paul Tan:
Show 50 quoted lines
> Since d1c5f2a (Add git-am, applymbox replacement., 2005-10-07), git-am > supported the --utf8 and --no-utf8 options, and if set, would pass the > -u flag and the -k flag respectively. > > git mailinfo -u will re-code the commit log message and authorship info > in the charset specified by i18n.commitencoding setting, while > git mailinfo -n will disable the re-coding. > > Since d84029b (--utf8 is now default for 'git-am', 2007-01-08), --utf8 > is set by default in git-am. > > Add various encoding conversion tests to t3901 to test git-mailinfo's > encoding conversion. In addition, add a test for --no-utf8 to check that > no encoding conversion will occur if that option is set. > > Cc: Junio C Hamano <gitster@pobox.com> > Signed-off-by: Paul Tan <pyokagan@gmail.com> > --- > t/t3901-i18n-patch.sh | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 62 insertions(+) > > diff --git a/t/t3901-i18n-patch.sh b/t/t3901-i18n-patch.sh > index 75cf3ff..b49bdb7 100755 > --- a/t/t3901-i18n-patch.sh > +++ b/t/t3901-i18n-patch.sh > @@ -251,4 +251,66 @@ test_expect_success 'rebase --merge (L/U)' ' > check_encoding 2 8859 > ' > > +test_expect_success 'am (U/U)' ' > + # Apply UTF-8 patches with UTF-8 commitencoding > + git config i18n.commitencoding UTF-8 && > + . "$TEST_DIRECTORY"/t3901-utf8.txt && > + > + git reset --hard master && > + git am out-u1 out-u2 && > + > + check_encoding 2 > +' > + > +test_expect_success 'am (L/L)' ' > + # Apply ISO-8859-1 patches with ISO-8859-1 commitencoding > + git config i18n.commitencoding ISO8859-1 && > + . "$TEST_DIRECTORY"/t3901-8859-1.txt && > + > + git reset --hard master && > + git am out-l1 out-l2 && > + > + check_encoding 2 8859 > +'
This test case must be protected by !MINGW, just like the last case below and other cases that are already in the file. See 32f4cb6cee for details.
Show 43 quoted lines
> + > +test_expect_success 'am (U/L)' ' > + # Apply ISO-8859-1 patches with UTF-8 commitencoding > + git config i18n.commitencoding UTF-8 && > + . "$TEST_DIRECTORY"/t3901-utf8.txt && > + git reset --hard master && > + > + # am specifies --utf8 by default. > + git am out-l1 out-l2 && > + > + check_encoding 2 > +' > + > +test_expect_success 'am --no-utf8 (U/L)' ' > + # Apply ISO-8859-1 patches with UTF-8 commitencoding > + git config i18n.commitencoding UTF-8 && > + . "$TEST_DIRECTORY"/t3901-utf8.txt && > + > + git reset --hard master && > + git am --no-utf8 out-l1 out-l2 2>err && > + > + # commit-tree will warn that the commit message does not contain valid UTF-8 > + # as mailinfo did not convert it > + grep "did not conform" err && > + > + check_encoding 2 > +' > + > +test_expect_success !MINGW 'am (L/U)' ' > + # Apply UTF-8 patches with ISO-8859-1 commitencoding > + git config i18n.commitencoding ISO8859-1 && > + . "$TEST_DIRECTORY"/t3901-8859-1.txt && > + > + git reset --hard master && > + # mailinfo will re-code the commit message to the charset specified by > + # i18n.commitencoding > + git am out-u1 out-u2 && > + > + check_encoding 2 8859 > +' > + > test_done >
-- Hannes