summaryrefslogtreecommitdiffstats
path: root/gettext-tools/tests
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2014-05-14 11:42:19 +0900
committerDaiki Ueno <ueno@gnu.org>2014-05-14 16:47:58 +0900
commit2a644d7a28191082c631d095d7b73a6fd34455b3 (patch)
tree43cbed0c3e617a00141dca9c206e184685003bbd /gettext-tools/tests
parent0793877631bd889673fccb847a329d301db9c78c (diff)
downloadexternal_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.am2
-rwxr-xr-xgettext-tools/tests/format-python-brace-18
-rwxr-xr-xgettext-tools/tests/format-python-brace-23
-rwxr-xr-xgettext-tools/tests/msgen-110
-rwxr-xr-xgettext-tools/tests/msginit-376
-rwxr-xr-xgettext-tools/tests/xgettext-vala-161
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