summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2008-02-04 23:37:08 +0000
committerBruno Haible <bruno@clisp.org>2009-06-23 12:15:38 +0200
commite00be2fb2b7eb5f8557a46872a939e982b75747d (patch)
treece5ac92aca5bdb70945dd7093c78f9e39dae9796
parenta1e9c30d7c19b1ce68def821ef636d39f9dc1ad3 (diff)
downloadexternal_gettext-e00be2fb2b7eb5f8557a46872a939e982b75747d.zip
external_gettext-e00be2fb2b7eb5f8557a46872a939e982b75747d.tar.gz
external_gettext-e00be2fb2b7eb5f8557a46872a939e982b75747d.tar.bz2
Test for detail working of the --previous option.
-rw-r--r--gettext-tools/tests/ChangeLog7
-rw-r--r--gettext-tools/tests/Makefile.am3
-rwxr-xr-xgettext-tools/tests/msgmerge-23141
3 files changed, 150 insertions, 1 deletions
diff --git a/gettext-tools/tests/ChangeLog b/gettext-tools/tests/ChangeLog
index e5b5f2c..c6dd399 100644
--- a/gettext-tools/tests/ChangeLog
+++ b/gettext-tools/tests/ChangeLog
@@ -1,3 +1,10 @@
+2008-02-04 Bruno Haible <bruno@clisp.org>
+
+ * msgmerge-23: New file.
+ * Makefile.am (TESTS): Add it.
+ Reported by Yukiko Bando <ybando@k6.dion.ne.jp> via
+ Chusslove Illich (Часлав Илић) <caslav.ilic@gmx.net>.
+
2008-01-12 Bruno Haible <bruno@clisp.org>
* xgettext-glade-2: Use 'grep' with a pipe as input, not a regular
diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am
index a88d138..f5b3c19 100644
--- a/gettext-tools/tests/Makefile.am
+++ b/gettext-tools/tests/Makefile.am
@@ -1,5 +1,5 @@
## Makefile for the gettext-tools/tests subdirectory of GNU gettext
-## Copyright (C) 1995-1997, 2001-2007 Free Software Foundation, Inc.
+## Copyright (C) 1995-1997, 2001-2008 Free Software Foundation, Inc.
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -55,6 +55,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
msgmerge-7 msgmerge-8 msgmerge-9 msgmerge-10 msgmerge-11 msgmerge-12 \
msgmerge-13 msgmerge-14 msgmerge-15 msgmerge-16 msgmerge-17 \
msgmerge-18 msgmerge-19 msgmerge-20 msgmerge-21 msgmerge-22 \
+ msgmerge-23 \
msgmerge-compendium-1 msgmerge-compendium-2 msgmerge-compendium-3 \
msgmerge-compendium-4 msgmerge-compendium-5 msgmerge-compendium-6 \
msgmerge-properties-1 msgmerge-properties-2 \
diff --git a/gettext-tools/tests/msgmerge-23 b/gettext-tools/tests/msgmerge-23
new file mode 100755
index 0000000..eca985f
--- /dev/null
+++ b/gettext-tools/tests/msgmerge-23
@@ -0,0 +1,141 @@
+#! /bin/sh
+
+# Test msgmerge when a msgid_plural changed but msgid remained the same,
+# and --previous was specified.
+# Reported by Chusslove Illich (Часлав Илић).
+
+tmpfiles=""
+trap 'rm -fr $tmpfiles' 1 2 3 15
+
+tmpfiles="$tmpfiles mm-test23.po"
+cat <<\EOF > mm-test23.po
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-01-13 16:59+0100\n"
+"PO-Revision-Date: 2007-06-28 16:37+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#, c-format
+msgid "%n lines"
+msgstr ""
+
+#, c-format
+msgid "%n areas"
+msgstr "%n Flächen"
+
+#, c-format
+msgid "One object"
+msgid_plural "%n objects"
+msgstr[0] ""
+msgstr[1] ""
+
+#, c-format
+msgid "One volume"
+msgid_plural "%n volumes"
+msgstr[0] "Ein Band"
+msgstr[1] "%n Bände"
+EOF
+
+tmpfiles="$tmpfiles mm-test23.pot"
+cat <<\EOF > mm-test23.pot
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-01-13 16:59+0100\n"
+"PO-Revision-Date: 2007-06-28 16:37+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#, kde-format
+msgid "%1 lines"
+msgstr ""
+
+#, kde-format
+msgid "%1 areas"
+msgstr ""
+
+#, kde-format
+msgid "One object"
+msgid_plural "%1 objects"
+msgstr[0] ""
+msgstr[1] ""
+
+#, kde-format
+msgid "One volume"
+msgid_plural "%1 volumes"
+msgstr[0] ""
+msgstr[1] ""
+EOF
+
+tmpfiles="$tmpfiles mm-test23.tmp.po mm-test23.new.po"
+: ${MSGMERGE=msgmerge}
+${MSGMERGE} -q --previous -o mm-test23.tmp.po mm-test23.po mm-test23.pot
+test $? = 0 || { rm -fr $tmpfiles; exit 1; }
+tr -d '\r' < mm-test23.tmp.po > mm-test23.new.po
+test $? = 0 || { rm -fr $tmpfiles; exit 1; }
+
+tmpfiles="$tmpfiles mm-test23.ok"
+cat <<\EOF > mm-test23.ok
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-01-13 16:59+0100\n"
+"PO-Revision-Date: 2007-06-28 16:37+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#, kde-format
+msgid "%1 lines"
+msgstr ""
+
+#, fuzzy, kde-format
+#| msgid "%n areas"
+msgid "%1 areas"
+msgstr "%n Flächen"
+
+#, kde-format
+msgid "One object"
+msgid_plural "%1 objects"
+msgstr[0] ""
+msgstr[1] ""
+
+#, fuzzy, kde-format
+#| msgid "One volume"
+#| msgid_plural "%n volumes"
+msgid "One volume"
+msgid_plural "%1 volumes"
+msgstr[0] "Ein Band"
+msgstr[1] "%n Bände"
+EOF
+
+: ${DIFF=diff}
+${DIFF} mm-test23.ok mm-test23.new.po
+test $? = 0 || { rm -fr $tmpfiles; exit 1; }
+
+tmpfiles="$tmpfiles mm-test23.mo"
+: ${MSGFMT=msgfmt}
+${MSGFMT} --check -o mm-test23.mo mm-test23.new.po
+test $? = 0 || { rm -fr $tmpfiles; exit 1; }
+
+rm -fr $tmpfiles
+
+exit 0