#! /bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src

# Test msgmerge --previous option.

cat <<\EOF > mm-test19.po
msgid ""
msgstr ""
"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 "zu viele Argumente"

# Oder besser "fehlende Argumente"?
#. TRANSLATORS: An error message.
#: src/args.c:273
#, c-format
msgid "missing arguments"
msgstr "Argumente fehlen"

#: getopt.c:805 getopt.c:808
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: ungültige Option -- %c\n"
EOF

cat <<\EOF > mm-test19.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 ""

#: getopt.c:796 getopt.c:799
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr ""

#: getopt.c:805 getopt.c:808
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr ""
EOF

: ${MSGMERGE=msgmerge}
${MSGMERGE} -q --previous -o mm-test19.tmp.po mm-test19.po mm-test19.pot || Exit 1
LC_ALL=C tr -d '\r' < mm-test19.tmp.po > mm-test19.new1.po || Exit 1

cat <<\EOF > mm-test19.ok1
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"
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
#, c-format
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

: ${DIFF=diff}
${DIFF} mm-test19.ok1 mm-test19.new1.po || Exit 1

cat <<\EOF > mm-test19.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

: ${MSGMERGE=msgmerge}
${MSGMERGE} -q --previous -o mm-test19.tmp.po mm-test19.new1.po mm-test19.pot || Exit 1
LC_ALL=C tr -d '\r' < mm-test19.tmp.po > mm-test19.new2.po || Exit 1

cat <<\EOF > mm-test19.ok2
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"

#, fuzzy, c-format
#~| msgid "%s: invalid option -- %c\n"
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: ungültige Option -- %c\n"

#, c-format
#~ msgid "%s: invalid option -- %c\n"
#~ msgstr "%s: ungültige Option -- %c\n"
EOF

: ${DIFF=diff}
${DIFF} mm-test19.ok2 mm-test19.new2.po || Exit 1

Exit 0
