1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
#! /bin/sh
# Test multi-domain handling.
tmpfiles=""
trap 'rm -fr $tmpfiles' 1 2 3 15
tmpfiles="$tmpfiles foo.po"
cat <<\EOF > foo.po
domain "foo-de"
msgid ""
msgstr "Content-Type: text/plain; charset=ISO-8859-1\n"
# Das ist ein Kommentar.
msgid "hello"
msgstr "Hallo"
# Noch einer.
msgid "bye"
msgstr "Tsch"
domain "foo-fr"
msgid ""
msgstr "Content-Type: text/plain; charset=ISO-8859-1\n"
# Ceci est un commentaire.
msgid "hello"
msgstr "Salut"
# Encore un.
msgid "bye"
msgstr "A bientt"
EOF
tmpfiles="$tmpfiles foo-de.mo foo-fr.mo"
: ${MSGFMT=msgfmt}
${MSGFMT} foo.po
test $? = 0 || { rm -fr $tmpfiles; exit 1; }
tmpfiles="$tmpfiles foo-de.tmp foo-de.out foo-fr.tmp foo-fr.out"
: ${MSGUNFMT=msgunfmt}
${MSGUNFMT} -o foo-de.tmp foo-de.mo
test $? = 0 || { rm -fr $tmpfiles; exit 1; }
LC_ALL=C tr -d '\r' < foo-de.tmp > foo-de.out
test $? = 0 || { rm -fr $tmpfiles; exit 1; }
${MSGUNFMT} -o foo-fr.tmp foo-fr.mo
test $? = 0 || { rm -fr $tmpfiles; exit 1; }
LC_ALL=C tr -d '\r' < foo-fr.tmp > foo-fr.out
test $? = 0 || { rm -fr $tmpfiles; exit 1; }
tmpfiles="$tmpfiles foo-de.ok"
cat <<\EOF > foo-de.ok
msgid ""
msgstr "Content-Type: text/plain; charset=ISO-8859-1\n"
msgid "bye"
msgstr "Tsch"
msgid "hello"
msgstr "Hallo"
EOF
tmpfiles="$tmpfiles foo-fr.ok"
cat <<\EOF > foo-fr.ok
msgid ""
msgstr "Content-Type: text/plain; charset=ISO-8859-1\n"
msgid "bye"
msgstr "A bientt"
msgid "hello"
msgstr "Salut"
EOF
: ${DIFF=diff}
${DIFF} foo-de.ok foo-de.out && ${DIFF} foo-fr.ok foo-fr.out
result=$?
rm -fr $tmpfiles
exit $result
|