summaryrefslogtreecommitdiff
path: root/gettext-tools/tests/msgcmp-4
diff options
context:
space:
mode:
Diffstat (limited to 'gettext-tools/tests/msgcmp-4')
-rwxr-xr-xgettext-tools/tests/msgcmp-4152
1 files changed, 152 insertions, 0 deletions
diff --git a/gettext-tools/tests/msgcmp-4 b/gettext-tools/tests/msgcmp-4
new file mode 100755
index 0000000..1f80683
--- /dev/null
+++ b/gettext-tools/tests/msgcmp-4
@@ -0,0 +1,152 @@
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test comparison with PO files with previous msgids.
+# Test --use-fuzzy option.
+
+cat <<\EOF > mc-test4.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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. TRANSLATORS: An error message.
+#: src/args.c:242
+#, c-format
+msgid "Too many arguments."
+msgstr ""
+
+#. TRANSLATORS: An error message.
+#: src/args.c:247
+#, c-format
+msgid "Too few arguments."
+msgstr ""
+
+# Oder besser "fehlende Argumente"?
+#. TRANSLATORS: An error message.
+#: src/args.c:273
+#, c-format
+msgid "Missing arguments."
+msgstr ""
+EOF
+
+cat <<\EOF > mc-test4.po1
+msgid ""
+msgstr ""
+"Report-Msgid-Bugs-To: \n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. TRANSLATORS: An error message.
+#: src/args.c:242
+#, fuzzy, c-format
+#| msgid "too many arguments"
+msgid "Too many arguments."
+msgstr "zu viele Argumente"
+
+#. TRANSLATORS: An error message.
+#: src/args.c:247
+#, fuzzy, c-format
+#| msgid "too many arguments"
+msgid "Too few arguments."
+msgstr "zu viele Argumente"
+
+# Oder besser "fehlende Argumente"?
+#. TRANSLATORS: An error message.
+#: src/args.c:273
+#, fuzzy, c-format
+#| msgid "missing arguments"
+msgid "Missing arguments."
+msgstr "Argumente fehlen"
+
+#: getopt.c:796 getopt.c:799
+#, fuzzy, c-format
+#| msgid "%s: invalid option -- %c\n"
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: ungültige Option -- %c\n"
+
+#: getopt.c:805 getopt.c:808
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: ungültige Option -- %c\n"
+EOF
+
+# Verify that with fuzzies, all msgids of the POT file are covered.
+: ${MSGCMP=msgcmp}
+LC_MESSAGES=C LC_ALL= \
+${MSGCMP} --use-fuzzy mc-test4.po1 mc-test4.pot > mc-test4.out11 2>&1 || exit 1
+if grep -v 'warning:' mc-test4.out11 > /dev/null; then
+ exit 1;
+fi
+
+# Verify that without fuzzies, not all msgids of the POT file are covered.
+: ${MSGCMP=msgcmp}
+LC_MESSAGES=C LC_ALL= \
+${MSGCMP} mc-test4.po1 mc-test4.pot > mc-test4.out12 2>&1
+test $? = 1 || { exit 1; }
+grep -v 'warning:' mc-test4.out12 > /dev/null || exit 1
+
+cat <<\EOF > mc-test4.po2
+msgid ""
+msgstr ""
+"Report-Msgid-Bugs-To: \n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. TRANSLATORS: An error message.
+#: src/args.c:242
+#, c-format
+#| msgid "too many arguments"
+msgid "Too many arguments."
+msgstr "Zu viele Argumente."
+
+#. TRANSLATORS: An error message.
+#: src/args.c:247
+#, c-format
+#| msgid "too many arguments"
+msgid "Too few arguments."
+msgstr "Zu wenige Argumente."
+
+# Oder besser "fehlende Argumente"?
+#. TRANSLATORS: An error message.
+#: src/args.c:273
+#, c-format
+#| msgid "missing arguments"
+msgid "Missing arguments."
+msgstr "Argumente fehlen."
+
+#: getopt.c:796 getopt.c:799
+#, fuzzy, c-format
+#| msgid "%s: invalid option -- %c\n"
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: ungültige Option -- %c\n"
+
+#: getopt.c:805 getopt.c:808
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: ungültige Option -- %c\n"
+EOF
+
+# Verify that without fuzzies, all msgids of the POT file are covered.
+# Verify that previous msgids are ignored even when specified on non-fuzzy
+# messages.
+: ${MSGCMP=msgcmp}
+LC_MESSAGES=C LC_ALL= \
+${MSGCMP} mc-test4.po2 mc-test4.pot > mc-test4.out2 2>&1 || exit 1
+if grep -v 'warning:' mc-test4.out2 > /dev/null; then
+ exit 1;
+fi
+
+exit $result