diff options
author | Daiki Ueno <ueno@gnu.org> | 2014-05-14 11:42:19 +0900 |
---|---|---|
committer | Daiki Ueno <ueno@gnu.org> | 2014-05-14 16:47:58 +0900 |
commit | 2a644d7a28191082c631d095d7b73a6fd34455b3 (patch) | |
tree | 43cbed0c3e617a00141dca9c206e184685003bbd /gettext-tools/tests | |
parent | 0793877631bd889673fccb847a329d301db9c78c (diff) | |
download | external_gettext-2a644d7a28191082c631d095d7b73a6fd34455b3.zip external_gettext-2a644d7a28191082c631d095d7b73a6fd34455b3.tar.gz external_gettext-2a644d7a28191082c631d095d7b73a6fd34455b3.tar.bz2 |
tests: Improve test coverage
Diffstat (limited to 'gettext-tools/tests')
-rw-r--r-- | gettext-tools/tests/Makefile.am | 2 | ||||
-rwxr-xr-x | gettext-tools/tests/format-python-brace-1 | 8 | ||||
-rwxr-xr-x | gettext-tools/tests/format-python-brace-2 | 3 | ||||
-rwxr-xr-x | gettext-tools/tests/msgen-1 | 10 | ||||
-rwxr-xr-x | gettext-tools/tests/msginit-3 | 76 | ||||
-rwxr-xr-x | gettext-tools/tests/xgettext-vala-1 | 61 |
6 files changed, 157 insertions, 3 deletions
diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am index 7f23f1b..299fe98 100644 --- a/gettext-tools/tests/Makefile.am +++ b/gettext-tools/tests/Makefile.am @@ -51,7 +51,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \ msgfmt-desktop-1 msgfmt-desktop-2 \ msggrep-1 msggrep-2 msggrep-3 msggrep-4 msggrep-5 msggrep-6 msggrep-7 \ msggrep-8 msggrep-9 msggrep-10 msggrep-11 \ - msginit-1 msginit-2 \ + msginit-1 msginit-2 msginit-3 \ msgmerge-1 msgmerge-2 msgmerge-3 msgmerge-4 msgmerge-5 msgmerge-6 \ msgmerge-7 msgmerge-8 msgmerge-9 msgmerge-10 msgmerge-11 msgmerge-12 \ msgmerge-13 msgmerge-14 msgmerge-15 msgmerge-16 msgmerge-17 \ diff --git a/gettext-tools/tests/format-python-brace-1 b/gettext-tools/tests/format-python-brace-1 index 18ff861..601b023 100755 --- a/gettext-tools/tests/format-python-brace-1 +++ b/gettext-tools/tests/format-python-brace-1 @@ -6,6 +6,10 @@ cat <<\EOF > f-pyb-1.data # Invalid: no argument "abc" +# Invalid: escaped braces +"abc{{}}" +# Valid: a numeric argument +"abc{0}" # Valid: a named argument "abc{value}" # Invalid: an empty name @@ -22,6 +26,10 @@ cat <<\EOF > f-pyb-1.data "abc{value[name]}" # Invalid: unterminated getitem operator "abc{value[name}" +# Invalid: unterminated getitem operator +"abc{value[0}" +# Invalid: unknown character in getitem operator +"abc{value[!]}" # Valid: format specifier "abc{value:0}" # Valid: standard format specifier diff --git a/gettext-tools/tests/format-python-brace-2 b/gettext-tools/tests/format-python-brace-2 index e05f8a4..3f9423f 100755 --- a/gettext-tools/tests/format-python-brace-2 +++ b/gettext-tools/tests/format-python-brace-2 @@ -25,6 +25,9 @@ msgstr "{baz} {bar} {foo} {bar}" # Valid: single reuse of same argument msgid "{baz} {bar} {foo} {bar}" msgstr "{foo} {bar} {baz}" +# Valid: "{{" is an escape of "{" +msgid "abc{{{x1}{x2}" +msgstr "{x2}abc{x1}" EOF : ${MSGFMT=msgfmt} diff --git a/gettext-tools/tests/msgen-1 b/gettext-tools/tests/msgen-1 index f68cd7e..889fe7b 100755 --- a/gettext-tools/tests/msgen-1 +++ b/gettext-tools/tests/msgen-1 @@ -56,5 +56,13 @@ EOF : ${DIFF=diff} ${DIFF} men-test1.ok men-test1.out result=$? +test $result = 0 || exit $result -exit $result +# Test --lang option. +${MSGEN} --lang=fr -o men-test1.tmp men-test1.po || exit 1 +grep -q "Language: fr" men-test1.tmp || exit 1 +grep -v "Language: fr" men-test1.tmp | LC_ALL=C tr -d '\r' > men-test1.out || exit 1 + +${DIFF} men-test1.ok men-test1.out +result=$? +test $result = 0 || exit $result diff --git a/gettext-tools/tests/msginit-3 b/gettext-tools/tests/msginit-3 new file mode 100755 index 0000000..7b9099b --- /dev/null +++ b/gettext-tools/tests/msginit-3 @@ -0,0 +1,76 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test various msginit options. +cat <<\EOF > mi-test3.pot +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#, c-format +msgid "'Your command, please?', asked the waiter." +msgstr "" + +#, c-format +msgid "a piece of cake" +msgid_plural "%d pieces of cake" +msgstr[0] "" +msgstr[1] "" + +#, c-format +msgid "%s is replaced by %s." +msgstr "" +EOF + +: ${MSGINIT=msginit} +GETTEXTLIBDIR="$abs_top_srcdir"/src ${MSGINIT} -l ga_IE.utf8 --no-translator -o mi-test3.tmp 2>mi-test3.err +test $? = 0 || { cat mi-test3.err 1>&2; exit 1; } + +# Project-Id-Version contains version constructed from a temporary +# directory name +grep -q "Project-Id-Version: gt-msginit " mi-test3.tmp || exit 1 +sed -e '1,10d' < mi-test3.tmp | grep -v Project-Id-Version | LC_ALL=C tr -d '\r' > mi-test3.out || exit 1 +cat <<\EOF > mi-test3.ok +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n" + +#, c-format +msgid "'Your command, please?', asked the waiter." +msgstr "" + +#, c-format +msgid "a piece of cake" +msgid_plural "%d pieces of cake" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, c-format +msgid "%s is replaced by %s." +msgstr "" +EOF + +: ${DIFF=diff} +${DIFF} mi-test3.ok mi-test3.out +result=$? + +exit $result diff --git a/gettext-tools/tests/xgettext-vala-1 b/gettext-tools/tests/xgettext-vala-1 index ce63611..19bfecc 100755 --- a/gettext-tools/tests/xgettext-vala-1 +++ b/gettext-tools/tests/xgettext-vala-1 @@ -75,5 +75,64 @@ EOF : ${DIFF=diff} ${DIFF} xg-vala-1.ok xg-vala-1.pot result=$? +test $result = 0 || exit $result -exit $result +# Test --extract-all option. +${XGETTEXT} --extract-all --add-comments --no-location -o xg-vala-1.tmp xg-vala-1.vala 2>xg-vala-1.err +test $? = 0 || { cat xg-vala-1.err; exit 1; } +# Don't simplify this to "grep ... < xg-vala-1.tmp", otherwise OpenBSD 4.0 grep +# only outputs "Binary file (standard input) matches". +cat xg-vala-1.tmp | grep -v 'POT-Creation-Date' | LC_ALL=C tr -d '\r' > xg-vala-1.pot + +cp xg-vala-1.pot .. +cat <<\EOF > xg-vala-1.all.ok +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Simple string, no gettext needed" +msgstr "" + +#. This is a C++ style comment +msgid "Extract this first string" +msgstr "" + +msgid "Prefix _(" +msgstr "" + +msgid "Extract this second string" +msgstr "" + +msgid ") Postfix" +msgstr "" + +msgid "Extract this thirth string" +msgstr "" + +msgid "" +"Extract this\n" +" \"\"\\a\n" +" fourth string" +msgstr "" + +msgid "Extract this ⑤th string" +msgstr "" +EOF + +${DIFF} xg-vala-1.all.ok xg-vala-1.pot +result=$? +test $result = 0 || exit $result |