• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/ap/gpl/timemachine/gettext-0.17/gettext-tools/tests/
1#! /bin/sh
2
3# Test basic functionality, duplicate detection, multiple domains.
4
5tmpfiles=""
6trap 'rm -fr $tmpfiles' 1 2 3 15
7
8tmpfiles="$tmpfiles LC_MESSAGES"
9test -d LC_MESSAGES || mkdir LC_MESSAGES
10
11tmpfiles="$tmpfiles module1.po module2.po"
12cat <<EOF > module1.po
13#default domain "messages.mo"
14msgid	"SYS_(C)\n"
15msgstr "MSGFMT(3) portable message object file compiler\n"
16"Copyright (C) 1995 Free Software Foundation\n"
17"Report bugs to <bug-gnu-utils@gnu.org>\n"
18msgid	"msg 1"
19msgstr	"msg 1 translation"
20#
21domain	"help_dom"
22msgid	"help 2 %d"
23msgstr	"help 2 translation"
24#
25domain	"error_dom"
26msgid	"error 3"
27msgstr	"error 3 translation"
28EOF
29
30cat <<EOF > module2.po
31# ---
32#default domain "messages.mo"
33msgid	"mesg 4"
34msgstr	"mesg 4 translation"
35#
36domain	"error_dom"
37msgid	"error 3"
38msgstr	"alternate error 3 translation"
39msgid	"error 5"
40msgstr	"error 5 translation"
41#
42domain	"window_dom"
43msgid	"window 6"
44msgstr	"window 6 translation"
45EOF
46
47# Without use of msgcat, expect a "duplicate message definition" error.
48: ${MSGFMT=msgfmt}
49if ${MSGFMT} -o LC_MESSAGES/gen.mo module1.po module2.po 2> /dev/null; then
50  rm -fr $tmpfiles
51  exit 1
52fi
53
54# With msgcat, it should work.
55tmpfiles="$tmpfiles modules.po"
56: ${MSGCAT=msgcat} ${MSGFMT=msgfmt}
57${MSGCAT} --use-first -o modules.po module1.po module2.po
58test $? = 0 || { rm -fr $tmpfiles; exit 1; }
59${MSGFMT} -o LC_MESSAGES/gen.mo modules.po
60test $? = 0 || { rm -fr $tmpfiles; exit 1; }
61
62tmpfiles="$tmpfiles mf-test1.out"
63: ${GETTEXT=gettext}
64TEXTDOMAINDIR=.. LANGUAGE=tests \
65${GETTEXT} --env LC_ALL=en gen 'SYS_(C)
66' | tr -d '\r' > mf-test1.out
67
68tmpfiles="$tmpfiles gtmf-test1.ok"
69cat <<EOF > gtmf-test1.ok
70MSGFMT(3) portable message object file compiler
71Copyright (C) 1995 Free Software Foundation
72Report bugs to <bug-gnu-utils@gnu.org>
73EOF
74
75: ${DIFF=diff}
76${DIFF} gtmf-test1.ok mf-test1.out
77result=$?
78
79rm -fr $tmpfiles
80
81exit $result
82