You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
1.9 KiB
92 lines
1.9 KiB
#!/bin/sh |
|
|
|
test_description='git blame encoding conversion' |
|
. ./test-lib.sh |
|
|
|
. "$TEST_DIRECTORY"/t8005/utf8.txt |
|
. "$TEST_DIRECTORY"/t8005/cp1251.txt |
|
. "$TEST_DIRECTORY"/t8005/sjis.txt |
|
|
|
test_expect_success 'setup the repository' ' |
|
# Create the file |
|
echo "UTF-8 LINE" > file && |
|
git add file && |
|
git commit --author "$UTF8_NAME <utf8@localhost>" -m "$UTF8_MSG" && |
|
|
|
echo "CP1251 LINE" >> file && |
|
git add file && |
|
git config i18n.commitencoding cp1251 && |
|
git commit --author "$CP1251_NAME <cp1251@localhost>" -m "$CP1251_MSG" && |
|
|
|
echo "SJIS LINE" >> file && |
|
git add file && |
|
git config i18n.commitencoding shift-jis && |
|
git commit --author "$SJIS_NAME <sjis@localhost>" -m "$SJIS_MSG" |
|
' |
|
|
|
cat >expected <<EOF |
|
author $SJIS_NAME |
|
summary $SJIS_MSG |
|
author $SJIS_NAME |
|
summary $SJIS_MSG |
|
author $SJIS_NAME |
|
summary $SJIS_MSG |
|
EOF |
|
|
|
test_expect_success \ |
|
'blame respects i18n.commitencoding' ' |
|
git blame --incremental file | \ |
|
grep "^\(author\|summary\) " > actual && |
|
test_cmp actual expected |
|
' |
|
|
|
cat >expected <<EOF |
|
author $CP1251_NAME |
|
summary $CP1251_MSG |
|
author $CP1251_NAME |
|
summary $CP1251_MSG |
|
author $CP1251_NAME |
|
summary $CP1251_MSG |
|
EOF |
|
|
|
test_expect_success \ |
|
'blame respects i18n.logoutputencoding' ' |
|
git config i18n.logoutputencoding cp1251 && |
|
git blame --incremental file | \ |
|
grep "^\(author\|summary\) " > actual && |
|
test_cmp actual expected |
|
' |
|
|
|
cat >expected <<EOF |
|
author $UTF8_NAME |
|
summary $UTF8_MSG |
|
author $UTF8_NAME |
|
summary $UTF8_MSG |
|
author $UTF8_NAME |
|
summary $UTF8_MSG |
|
EOF |
|
|
|
test_expect_success \ |
|
'blame respects --encoding=utf-8' ' |
|
git blame --incremental --encoding=utf-8 file | \ |
|
grep "^\(author\|summary\) " > actual && |
|
test_cmp actual expected |
|
' |
|
|
|
cat >expected <<EOF |
|
author $SJIS_NAME |
|
summary $SJIS_MSG |
|
author $CP1251_NAME |
|
summary $CP1251_MSG |
|
author $UTF8_NAME |
|
summary $UTF8_MSG |
|
EOF |
|
|
|
test_expect_success \ |
|
'blame respects --encoding=none' ' |
|
git blame --incremental --encoding=none file | \ |
|
grep "^\(author\|summary\) " > actual && |
|
test_cmp actual expected |
|
' |
|
|
|
test_done
|
|
|