#! /bin/sh

# Test msgcomm on PO files with contexts.

tmpfiles=""
trap 'rm -fr $tmpfiles' 1 2 3 15

tmpfiles="$tmpfiles mcomm-test25.in1 mcomm-test25.in2"
cat <<\EOF > mcomm-test25.in1
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. A menu item
msgctxt "File|"
msgid "Open"
msgstr "Ouvrir"

#. A menu item
msgctxt "File|"
msgid "New"
msgstr "Nouveau"

#. Denote a lock's state
msgctxt "Lock state"
msgid "Open"
msgstr "Ouverte"

#. Denote a lock's state
msgctxt "Lock state"
msgid "Closed"
msgstr "Fermée"

#. A menu item
#~ msgctxt "File|"
#~ msgid "Save As"
#~ msgstr "Enregistrer sous"
EOF

cat <<\EOF > mcomm-test25.in2
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. Denote a lock's state
msgctxt "Lock state"
msgid "Open"
msgstr "Ouvert"

#. Denote a lock's state
msgctxt "Lock state"
msgid "Closed"
msgstr "Fermé"

#. A product
msgctxt "Audi"
msgid "car"
msgstr "voiture"

#. A product
msgctxt "Océ"
msgid "copier"
msgstr "photocopieur"

#~ msgid "Save As"
#~ msgstr "Enregistrer l'as"
EOF

tmpfiles="$tmpfiles mcomm-test25.out"
: ${MSGCOMM=msgcomm}
${MSGCOMM} --more-than=0 -o mcomm-test25.out mcomm-test25.in1 mcomm-test25.in2
test $? = 0 || { rm -fr $tmpfiles; exit 1; }

tmpfiles="$tmpfiles mcomm-test25.ok"
cat <<\EOF > mcomm-test25.ok
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. A menu item
msgctxt "File|"
msgid "Open"
msgstr "Ouvrir"

#. A menu item
msgctxt "File|"
msgid "New"
msgstr "Nouveau"

#. Denote a lock's state
msgctxt "Lock state"
msgid "Open"
msgstr "Ouverte"

#. Denote a lock's state
msgctxt "Lock state"
msgid "Closed"
msgstr "Fermée"

#. A product
msgctxt "Audi"
msgid "car"
msgstr "voiture"

#. A product
msgctxt "Océ"
msgid "copier"
msgstr "photocopieur"

#. A menu item
#~ msgctxt "File|"
#~ msgid "Save As"
#~ msgstr "Enregistrer sous"

#~ msgid "Save As"
#~ msgstr "Enregistrer l'as"
EOF

: ${DIFF=diff}
${DIFF} mcomm-test25.ok mcomm-test25.out
result=$?

rm -fr $tmpfiles

exit $result
