• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/gettext-0.17/gettext-tools/tests/
1#! /bin/sh
2
3# Test msgfilter on a PO file with contexts.
4
5tmpfiles=""
6trap 'rm -fr $tmpfiles' 1 2 3 15
7
8if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
9  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
10  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
11    ac_n= ac_c='
12' ac_t='        '
13  else
14    ac_n=-n ac_c= ac_t=
15  fi
16else
17  ac_n= ac_c='\c' ac_t=
18fi
19
20# Some sed programs (Solaris etc.) omit the last line if it ended without
21# a newline. We must skip this test when we encounter such a broken sed.
22sedoutput=`echo $ac_n "abc$ac_c" | sed -e s/x/x/`
23test -n "$sedoutput" || {
24  echo "Skipping test: sed program is broken"
25  rm -fr $tmpfiles; exit 77
26}
27
28# Some sed programs (IRIX, OSF/1 etc.) add a newline to the last line if it
29# doesn't end with a newline.
30sedoutputcount=`echo $ac_n "abc$ac_c" | sed -e s/x/x/ | wc -c`
31sedoutputcount=`echo "$sedoutputcount" | sed -e 's/[ 	]//g'`
32test "$sedoutputcount" = 3 || {
33  echo "Skipping test: sed program inserts extra newline"
34  rm -fr $tmpfiles; exit 77
35}
36
37tmpfiles="$tmpfiles mfi-test4.po"
38cat <<\EOF > mfi-test4.po
39msgid ""
40msgstr ""
41"Content-Type: text/plain; charset=UTF-8\n"
42"Content-Transfer-Encoding: 8bit\n"
43
44#. A menu item
45msgctxt "File|"
46msgid "Open"
47msgstr "Ouvrir"
48
49#. A menu item
50msgctxt "File|"
51msgid "New"
52msgstr "Nouveau"
53
54#. Denote a lock's state
55msgctxt "Lock state"
56msgid "Open"
57msgstr "Ouvert"
58
59#. Denote a lock's state
60msgctxt "Lock state"
61msgid "Closed"
62msgstr "Ferm��"
63
64#. A product
65msgctxt "Audi"
66msgid "car"
67msgstr "voiture"
68
69#. A product
70msgctxt "Oc��"
71msgid "copier"
72msgstr "photocopieur"
73
74#~ msgid "Save As"
75#~ msgstr "Enregistrer l'as"
76
77#. A menu item
78#~ msgctxt "File|"
79#~ msgid "Save As"
80#~ msgstr "Enregistrer sous"
81EOF
82
83tmpfiles="$tmpfiles mfi-test4.out mfi-test4.err"
84: ${MSGFILTER=msgfilter}
85sedexpr1='1{
86s/^/\[\[/
87}'
88sedexpr2='${
89s/$/\]\]/
90}'
91LC_ALL=C \
92${MSGFILTER} -i mfi-test4.po -o mfi-test4.out sed -e "$sedexpr1" -e "$sedexpr2" >mfi-test4.err 2>&1
93result=$?
94cat mfi-test4.err | grep -v 'warning: Locale charset' | grep -v '^ '
95test $result = 0 || { rm -fr $tmpfiles; exit 1; }
96
97tmpfiles="$tmpfiles mfi-test4.ok"
98cat <<\EOF > mfi-test4.ok
99msgid ""
100msgstr ""
101"[[Content-Type: text/plain; charset=UTF-8\n"
102"Content-Transfer-Encoding: 8bit]]\n"
103
104#. A menu item
105msgctxt "File|"
106msgid "Open"
107msgstr "[[Ouvrir]]"
108
109#. A menu item
110msgctxt "File|"
111msgid "New"
112msgstr "[[Nouveau]]"
113
114#. Denote a lock's state
115msgctxt "Lock state"
116msgid "Open"
117msgstr "[[Ouvert]]"
118
119#. Denote a lock's state
120msgctxt "Lock state"
121msgid "Closed"
122msgstr "[[Ferm��]]"
123
124#. A product
125msgctxt "Audi"
126msgid "car"
127msgstr "[[voiture]]"
128
129#. A product
130msgctxt "Oc��"
131msgid "copier"
132msgstr "[[photocopieur]]"
133
134#~ msgid "Save As"
135#~ msgstr "[[Enregistrer l'as]]"
136
137#. A menu item
138#~ msgctxt "File|"
139#~ msgid "Save As"
140#~ msgstr "[[Enregistrer sous]]"
141EOF
142
143: ${DIFF=diff}
144${DIFF} mfi-test4.ok mfi-test4.out
145result=$?
146
147rm -fr $tmpfiles
148
149exit $result
150