summaryrefslogtreecommitdiffstats
path: root/gettext-tools/tests
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2003-02-14 15:38:47 +0000
committerBruno Haible <bruno@clisp.org>2009-06-23 12:09:49 +0200
commit823750f3e538464876742e08e1cd7c7352e8f623 (patch)
treecb4db2d2c510f00ebff3ab3d0c1f33e20947eb74 /gettext-tools/tests
parent22be5bd8b703e3588f256873a9f1cb677121b7a5 (diff)
downloadexternal_gettext-823750f3e538464876742e08e1cd7c7352e8f623.zip
external_gettext-823750f3e538464876742e08e1cd7c7352e8f623.tar.gz
external_gettext-823750f3e538464876742e08e1cd7c7352e8f623.tar.bz2
Move tests/msgfmt-1 to gettext-tools/tests/msgfmt-1.
Diffstat (limited to 'gettext-tools/tests')
-rwxr-xr-xgettext-tools/tests/msgfmt-179
1 files changed, 79 insertions, 0 deletions
diff --git a/gettext-tools/tests/msgfmt-1 b/gettext-tools/tests/msgfmt-1
new file mode 100755
index 0000000..3b8face
--- /dev/null
+++ b/gettext-tools/tests/msgfmt-1
@@ -0,0 +1,79 @@
+#! /bin/sh
+
+tmpfiles=""
+trap 'rm -fr $tmpfiles' 1 2 3 15
+
+tmpfiles="$tmpfiles LC_MESSAGES"
+test -d LC_MESSAGES || mkdir LC_MESSAGES
+
+tmpfiles="$tmpfiles module1.po module2.po"
+cat <<EOF > module1.po
+#default domain "messages.mo"
+msgid "SYS_(C)\n"
+msgstr "MSGFMT(3) portable message object file compiler\n"
+"Copyright (C) 1995 Free Software Foundation\n"
+"Report bugs to <bug-gnu-utils@gnu.org>\n"
+msgid "msg 1"
+msgstr "msg 1 translation"
+#
+domain "help_dom"
+msgid "help 2 %d"
+msgstr "help 2 translation"
+#
+domain "error_dom"
+msgid "error 3"
+msgstr "error 3 translation"
+EOF
+
+cat <<EOF > module2.po
+# ---
+#default domain "messages.mo"
+msgid "mesg 4"
+msgstr "mesg 4 translation"
+#
+domain "error_dom"
+msgid "error 3"
+msgstr "alternate error 3 translation"
+msgid "error 5"
+msgstr "error 5 translation"
+#
+domain "window_dom"
+msgid "window 6"
+msgstr "window 6 translation"
+EOF
+
+# Without use of msgcat, expect a "duplicate message definition" error.
+: ${MSGFMT=msgfmt}
+if ${MSGFMT} module1.po module2.po -o LC_MESSAGES/gen.mo 2> /dev/null; then
+ rm -fr $tmpfiles
+ exit 1
+fi
+
+# With msgcat, it should work.
+tmpfiles="$tmpfiles modules.po"
+: ${MSGCAT=msgcat} ${MSGFMT=msgfmt}
+${MSGCAT} --use-first module1.po module2.po -o modules.po
+test $? = 0 || { rm -fr $tmpfiles; exit 1; }
+${MSGFMT} modules.po -o LC_MESSAGES/gen.mo
+test $? = 0 || { rm -fr $tmpfiles; exit 1; }
+
+tmpfiles="$tmpfiles mf-test1.out"
+: ${GETTEXT=gettext}
+TEXTDOMAINDIR=.. LANGUAGE=tests \
+${GETTEXT} --env LC_ALL=en gen 'SYS_(C)
+' > mf-test1.out
+
+tmpfiles="$tmpfiles gtmf-test1.ok"
+cat <<EOF > gtmf-test1.ok
+MSGFMT(3) portable message object file compiler
+Copyright (C) 1995 Free Software Foundation
+Report bugs to <bug-gnu-utils@gnu.org>
+EOF
+
+: ${DIFF=diff}
+${DIFF} gtmf-test1.ok mf-test1.out
+result=$?
+
+rm -fr $tmpfiles
+
+exit $result