• 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 recognition of Perl format strings.
4
5tmpfiles=""
6trap 'rm -fr $tmpfiles' 1 2 3 15
7
8tmpfiles="$tmpfiles f-pl-1.data"
9cat <<\EOF > f-pl-1.data
10# Valid: no argument
11"abc%%"
12# Valid: one small integer argument
13"abc%c"
14# Valid: one string argument
15"abc%s"
16# Valid: one scalar vector argument
17"abc%_"
18# Valid: one pointer argument
19"abc%p"
20# Valid: one integer argument
21"abc%i"
22# Valid: one integer argument
23"abc%d"
24# Valid: one integer argument
25"abc%D"
26# Valid: one integer argument
27"abc%u"
28# Valid: one integer argument
29"abc%U"
30# Valid: one integer argument
31"abc%b"
32# Valid: one integer argument
33"abc%o"
34# Valid: one integer argument
35"abc%O"
36# Valid: one integer argument
37"abc%x"
38# Valid: one integer argument
39"abc%X"
40# Valid: one floating-point argument
41"abc%e"
42# Valid: one floating-point argument
43"abc%E"
44# Valid: one floating-point argument
45"abc%f"
46# Valid: one floating-point argument
47"abc%F"
48# Valid: one floating-point argument
49"abc%g"
50# Valid: one floating-point argument
51"abc%G"
52# Valid: one argument with flags
53"abc%0#g"
54# Valid: one argument with width
55"abc%2g"
56# Valid: one argument with width
57"abc%*g"
58# Valid: one argument with precision
59"abc%.4g"
60# Valid: one argument with precision
61"abc%.*g"
62# Valid: one argument with width and precision
63"abc%14.4g"
64# Valid: one argument with width and precision
65"abc%14.*g"
66# Valid: one argument with width and precision
67"abc%*.4g"
68# Valid: one argument with width and precision
69"abc%*.*g"
70# Valid: one argument with size specifier
71"abc%hi"
72# Valid: one argument with size specifier
73"abc%li"
74# Valid: one argument with size specifier
75"abc%lli"
76# Valid: one argument with size specifier
77"abc%Lg"
78# Valid: one argument with size specifier
79"abc%qi"
80# Valid: one argument with size specifier
81"abc%Vi"
82# Valid: one argument with size specifier
83"abc%I32i"
84# Valid: one argument with size specifier
85"abc%I64i"
86# Valid: one argument with size specifier
87"abc%Ii"
88# Invalid: unterminated
89"abc%"
90# Invalid: unknown format specifier
91"abc%y"
92# Invalid: flags after width
93"abc%*0g"
94# Invalid: twice precision
95"abc%.4.2g"
96# Valid: three arguments
97"abc%d%u%u"
98# Valid: a numbered argument
99"abc%1$d"
100# Invalid: zero
101"abc%0$d"
102# Valid: two-digit numbered arguments
103"abc%11$def%10$dgh%9$dij%8$dkl%7$dmn%6$dop%5$dqr%4$dst%3$duv%2$dwx%1$dyz"
104# Invalid: unterminated number
105"abc%1"
106# Invalid: flags before number
107"abc%+1$d"
108# Valid: three arguments, two with same number
109"abc%1$4x,%2$c,%1$u"
110# Invalid: argument with conflicting types
111"abc%1$4x,%2$c,%1$s"
112# Valid: no conflict
113"abc%1$4x,%2$c,%1$u"
114# Valid: mixing of numbered and unnumbered arguments
115"abc%d%2$x"
116# Valid: numbered argument with constant precision
117"abc%1$.9x"
118# Valid: mixing of numbered and unnumbered arguments
119"abc%2$.*x"
120# Valid: missing non-final argument
121"abc%2$x%3$s"
122# Valid: permutation
123"abc%2$ddef%1$d"
124# Valid: multiple uses of same argument
125"abc%2$xdef%1$pghi%2$x"
126# Valid: one argument with width
127"abc%2$#*1$g"
128# Valid: one argument with width and precision
129"abc%3$*2$.*1$g"
130# Invalid: zero
131"abc%2$*0$.*1$g"
132EOF
133
134: ${XGETTEXT=xgettext}
135n=0
136while read comment; do
137  read string
138  n=`expr $n + 1`
139  tmpfiles="$tmpfiles f-pl-1-$n.in f-pl-1-$n.po"
140  sed -e 's,\$,\\$,g' <<EOF > f-pl-1-$n.in
141gettext(${string});
142EOF
143  ${XGETTEXT} -L Perl -o f-pl-1-$n.po f-pl-1-$n.in || exit 1
144  test -f f-pl-1-$n.po || exit 1
145  fail=
146  if echo "$comment" | grep 'Valid:' > /dev/null; then
147    if grep perl-format f-pl-1-$n.po > /dev/null; then
148      :
149    else
150      fail=yes
151    fi
152  else
153    if grep perl-format f-pl-1-$n.po > /dev/null; then
154      fail=yes
155    else
156      :
157    fi
158  fi
159  if test -n "$fail"; then
160    echo "Format string recognition error:" 1>&2
161    cat f-pl-1-$n.in 1>&2
162    echo "Got:" 1>&2
163    cat f-pl-1-$n.po 1>&2
164    exit 1
165  fi
166  rm -f f-pl-1-$n.in f-pl-1-$n.po
167done < f-pl-1.data
168
169rm -fr $tmpfiles
170
171exit 0
172