summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2001-11-30 13:04:09 +0000
committerBruno Haible <bruno@clisp.org>2009-06-21 23:29:38 +0200
commit28643aae6fd21c87317f0e77cd052f49a6ed0c0e (patch)
tree99f644436656c8cdbbe69dd698405b24176a979b /tests
parentfd737ee7e18b4c1c8282a2eb2d0ed56cf975402e (diff)
downloadexternal_gettext-28643aae6fd21c87317f0e77cd052f49a6ed0c0e.zip
external_gettext-28643aae6fd21c87317f0e77cd052f49a6ed0c0e.tar.gz
external_gettext-28643aae6fd21c87317f0e77cd052f49a6ed0c0e.tar.bz2
Deal with the case where a message gets or loses the plural form status
during msgmerge.
Diffstat (limited to 'tests')
-rw-r--r--tests/ChangeLog7
-rw-r--r--tests/Makefile.am3
-rwxr-xr-xtests/msgmerge-1792
-rwxr-xr-xtests/msgmerge-1898
-rwxr-xr-xtests/msgmerge-1990
5 files changed, 289 insertions, 1 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 6dd2279..70743c8 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,10 @@
+2001-11-30 Bruno Haible <bruno@clisp.org>
+
+ * msgmerge-17: New file.
+ * msgmerge-18: New file.
+ * msgmerge-19: New file.
+ * Makefile.am (TESTS): Add them.
+
2001-11-27 Bruno Haible <bruno@clisp.org>
* Makefile.am (TESTS): Add msgmerge-14, msgmerge-15, msgmerge-16.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 0f07ba6..c7a1dfd 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -30,7 +30,8 @@ TESTS = gettext-1 gettext-2 \
msgfmt-8 msgfmt-9 \
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-13 msgmerge-14 msgmerge-15 msgmerge-16 msgmerge-17 \
+ msgmerge-18 msgmerge-19 \
msgunfmt-1 \
msguniq-1 msguniq-2 msguniq-3 \
xgettext-1 xgettext-2 xgettext-3 xgettext-4 xgettext-5 xgettext-6 \
diff --git a/tests/msgmerge-17 b/tests/msgmerge-17
new file mode 100755
index 0000000..d729cb5
--- /dev/null
+++ b/tests/msgmerge-17
@@ -0,0 +1,92 @@
+#! /bin/sh
+
+# Test merging of a message which has plural forms in ref.pot but not
+# in def.po.
+
+tmpfiles=""
+trap 'rm -fr $tmpfiles' 1 2 3 15
+
+tmpfiles="$tmpfiles mm-test17.po"
+cat <<EOF > mm-test17.po
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cog_training 1.0\n"
+"POT-Creation-Date: 2001-04-29 22:40+0200\n"
+"PO-Revision-Date: 2001-04-29 21:19+02:00\n"
+"Last-Translator: Felix N. <xyz@zyx.uucp>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#:foobar.c:29
+#, c-format
+msgid "%d error"
+msgstr "%d erreur"
+EOF
+
+tmpfiles="$tmpfiles mm-test17.pot"
+cat <<EOF > mm-test17.pot
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2001-04-30 18:51+0200\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=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#:foobar.c:32
+#, c-format
+msgid "%d error"
+msgid_plural "%d errors"
+msgstr[0] ""
+msgstr[1] ""
+EOF
+
+tmpfiles="$tmpfiles mm-test17.out"
+: ${MSGMERGE=msgmerge}
+${MSGMERGE} -q mm-test17.po mm-test17.pot -o mm-test17.out
+
+tmpfiles="$tmpfiles mm-test17.ok"
+cat <<EOF > mm-test17.ok
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cog_training 1.0\n"
+"POT-Creation-Date: 2001-04-30 18:51+0200\n"
+"PO-Revision-Date: 2001-04-29 21:19+02:00\n"
+"Last-Translator: Felix N. <xyz@zyx.uucp>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: foobar.c:32
+#, fuzzy, c-format
+msgid "%d error"
+msgid_plural "%d errors"
+msgstr[0] "%d erreur"
+msgstr[1] "%d erreur"
+EOF
+
+: ${DIFF=diff}
+${DIFF} mm-test17.ok mm-test17.out
+result=$?
+
+rm -fr $tmpfiles
+
+exit $result
diff --git a/tests/msgmerge-18 b/tests/msgmerge-18
new file mode 100755
index 0000000..662913c
--- /dev/null
+++ b/tests/msgmerge-18
@@ -0,0 +1,98 @@
+#! /bin/sh
+
+# Test merging of a message which has plural forms in ref.pot but not
+# in def.po.
+
+tmpfiles=""
+trap 'rm -fr $tmpfiles' 1 2 3 15
+
+tmpfiles="$tmpfiles mm-test18.po"
+cat <<EOF > mm-test18.po
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cog_training 1.0\n"
+"POT-Creation-Date: 2001-04-29 22:40+0200\n"
+"PO-Revision-Date: 2001-04-29 21:19+02:00\n"
+"Last-Translator: Felix N. <xyz@zyx.uucp>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3);\n"
+
+#:foobar.c:29
+#, c-format
+msgid "%d error"
+msgstr "%d erreur"
+EOF
+
+tmpfiles="$tmpfiles mm-test18.pot"
+cat <<EOF > mm-test18.pot
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2001-04-30 18:51+0200\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=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#:foobar.c:32
+#, c-format
+msgid "%d error"
+msgid_plural "%d errors"
+msgstr[0] ""
+msgstr[1] ""
+EOF
+
+tmpfiles="$tmpfiles mm-test18.out"
+: ${MSGMERGE=msgmerge}
+${MSGMERGE} -q mm-test18.po mm-test18.pot -o mm-test18.out
+
+tmpfiles="$tmpfiles mm-test18.ok"
+cat <<EOF > mm-test18.ok
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cog_training 1.0\n"
+"POT-Creation-Date: 2001-04-30 18:51+0200\n"
+"PO-Revision-Date: 2001-04-29 21:19+02:00\n"
+"Last-Translator: Felix N. <xyz@zyx.uucp>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3);\n"
+
+#: foobar.c:32
+#, fuzzy, c-format
+msgid "%d error"
+msgid_plural "%d errors"
+msgstr[0] "%d erreur"
+msgstr[1] "%d erreur"
+msgstr[2] "%d erreur"
+msgstr[3] "%d erreur"
+EOF
+
+: ${DIFF=diff}
+${DIFF} mm-test18.ok mm-test18.out
+result=$?
+
+rm -fr $tmpfiles
+
+exit $result
diff --git a/tests/msgmerge-19 b/tests/msgmerge-19
new file mode 100755
index 0000000..6810492
--- /dev/null
+++ b/tests/msgmerge-19
@@ -0,0 +1,90 @@
+#! /bin/sh
+
+# Test merging of a message which has plural forms in def.po but not
+# in ref.pot.
+
+tmpfiles=""
+trap 'rm -fr $tmpfiles' 1 2 3 15
+
+tmpfiles="$tmpfiles mm-test19.po"
+cat <<EOF > mm-test19.po
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cog_training 1.0\n"
+"POT-Creation-Date: 2001-04-29 22:40+0200\n"
+"PO-Revision-Date: 2001-04-29 21:19+02:00\n"
+"Last-Translator: Felix N. <xyz@zyx.uucp>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#:foobar.c:29
+#, c-format
+msgid "%d error"
+msgid_plural "%d errors"
+msgstr[0] "%d erreur"
+msgstr[1] "%d erreurs"
+EOF
+
+tmpfiles="$tmpfiles mm-test19.pot"
+cat <<EOF > mm-test19.pot
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2001-04-30 18:51+0200\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=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#:foobar.c:32
+#, c-format
+msgid "%d error"
+msgstr ""
+EOF
+
+tmpfiles="$tmpfiles mm-test19.out"
+: ${MSGMERGE=msgmerge}
+${MSGMERGE} -q mm-test19.po mm-test19.pot -o mm-test19.out
+
+tmpfiles="$tmpfiles mm-test19.ok"
+cat <<EOF > mm-test19.ok
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cog_training 1.0\n"
+"POT-Creation-Date: 2001-04-30 18:51+0200\n"
+"PO-Revision-Date: 2001-04-29 21:19+02:00\n"
+"Last-Translator: Felix N. <xyz@zyx.uucp>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: foobar.c:32
+#, fuzzy, c-format
+msgid "%d error"
+msgstr "%d erreur"
+EOF
+
+: ${DIFF=diff}
+${DIFF} mm-test19.ok mm-test19.out
+result=$?
+
+rm -fr $tmpfiles
+
+exit $result