diff options
author | 2018-09-30 19:57:52 +0200 | |
---|---|---|
committer | 2019-04-09 13:05:55 +0200 | |
commit | 6149e0a69a06f25328b4954505ab317b5d7b1287 (patch) | |
tree | 15a47055c99dc64c1587890d9d44e789ff20823e | |
parent | Add a runner for all tests (diff) | |
download | githooks-6149e0a69a06f25328b4954505ab317b5d7b1287.tar.gz githooks-6149e0a69a06f25328b4954505ab317b5d7b1287.tar.bz2 githooks-6149e0a69a06f25328b4954505ab317b5d7b1287.zip |
update-04-utf8: Add tests
Signed-off-by: Michał Górny <mgorny@gentoo.org>
-rwxr-xr-x | local/tests/run-all.sh | 1 | ||||
-rwxr-xr-x | local/tests/update-04-utf8.sh | 37 |
2 files changed, 38 insertions, 0 deletions
diff --git a/local/tests/run-all.sh b/local/tests/run-all.sh index b51b6e2..117f210 100755 --- a/local/tests/run-all.sh +++ b/local/tests/run-all.sh @@ -6,6 +6,7 @@ . /lib/gentoo/functions.sh TESTS=( + update-04-utf8.sh update-05-manifest.sh update-06-copyright.sh ) diff --git a/local/tests/update-04-utf8.sh b/local/tests/update-04-utf8.sh new file mode 100755 index 0000000..f471948 --- /dev/null +++ b/local/tests/update-04-utf8.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Tests for update-04-utf8 hook +# Copyright 2018 Michał Górny +# Distributed under the terms of the GNU General Public License v2 or later + +. "${BASH_SOURCE%/*}"/lib.sh +HOOK_PATH=${BASH_SOURCE%/*}/../update-04-utf8 +[[ ${HOOK_PATH} == /* ]] || HOOK_PATH=${PWD}/${HOOK_PATH} + +FAIL_MSG="Commit * contains invalid UTF-8 in the commit metadata" + +export GIT_COMMITTER_NAME='UTF-8 Guy ĄĆĘŁŃÓŚŹŻ' +export GIT_COMMITTER_EMAIL='utf8@example.com' +export GIT_AUTHOR_NAME=${GIT_COMMITTER_NAME} +export GIT_AUTHOR_EMAIL=${GIT_COMMITTER_EMAIL} + +tbegin "Testing valid UTF-8 commit" +git commit -q --allow-empty -m "Valid UTF-8: ąćęłńóśźż" +test_success + +tbegin "Testing commit with invalid UTF-8 in commit message" +git -c i18n.commitencoding=iso-8859-2 commit -q --allow-empty -m $'Invalid UTF-8: \261\346' +test_failure "${FAIL_MSG}" + +tbegin "Testing commit with invalid UTF-8 in committer's name" +export GIT_COMMITTER_NAME=$'ISO-8859-2 guy \261\346' +git -c i18n.commitencoding=iso-8859-2 commit -q --allow-empty -m "Some message" +test_failure "${FAIL_MSG}" +export GIT_COMMITTER_NAME=${GIT_AUTHOR_NAME} + +tbegin "Testing commit with invalid UTF-8 in author's name" +export GIT_AUTHOR_NAME=$'ISO-8859-2 guy \261\346' +git -c i18n.commitencoding=iso-8859-2 commit -q --allow-empty -m "Some message" +test_failure "${FAIL_MSG}" +export GIT_AUTHOR_NAME=${GIT_COMMITTER_NAME} + +exit "${TEST_RET}" |