No empty .Rs/.Re
[netbsd-mini2440.git] / gnu / dist / gettext / gettext-tools / tests / format-perl-brace-1
blobe78266f691d320ebdd839d8933d61276e8a5125b
1 #! /bin/sh
3 # Test recognition of Perl brace format strings.
5 tmpfiles=""
6 trap 'rm -fr $tmpfiles' 1 2 3 15
8 tmpfiles="$tmpfiles f-pb-1.data"
9 cat <<\EOF > f-pb-1.data
10 # Invalid: no argument
11 "abc"
12 # Valid: a named argument
13 "abc{value}"
14 # Invalid: an empty name
15 "abc{}"
16 # Invalid: unterminated name
17 "abc{value"
18 # Valid: three arguments, two with equal names
19 "abc{addr},{char},{addr}"
20 # Invalid: place-holder contains a space.
21 "{foo bar}"
22 # Invalid: missing right angle bracket.
23 "{foo bar"
24 # Valid: not nested, but one single place-holder.
25 "{foo{bar}baz}"
26 # Valid: no nesting error, but one single place-holder.
27 "{foo{bar}baz"
28 # Valid: place-holder with spaces must be ignored, but still one remaining.
29 "{foo bar} {baz}"
30 # Invalid: percent sign not allowed.
31 "{foo%bar}"
32 EOF
34 : ${XGETTEXT=xgettext}
35 n=0
36 while read comment; do
37 read string
38 n=`expr $n + 1`
39 tmpfiles="$tmpfiles f-pb-1-$n.in f-pb-1-$n.po"
40 cat <<EOF > f-pb-1-$n.in
41 gettext(${string});
42 EOF
43 ${XGETTEXT} -L Perl -o f-pb-1-$n.po f-pb-1-$n.in || exit 1
44 test -f f-pb-1-$n.po || exit 1
45 fail=
46 if echo "$comment" | grep 'Valid:' > /dev/null; then
47 if grep perl-brace-format f-pb-1-$n.po > /dev/null; then
49 else
50 fail=yes
52 else
53 if grep perl-brace-format f-pb-1-$n.po > /dev/null; then
54 fail=yes
55 else
59 if test -n "$fail"; then
60 echo "Format string recognition error:" 1>&2
61 cat f-pb-1-$n.in 1>&2
62 echo "Got:" 1>&2
63 cat f-pb-1-$n.po 1>&2
64 exit 1
66 rm -f f-pb-1-$n.in f-pb-1-$n.po
67 done < f-pb-1.data
69 rm -fr $tmpfiles
71 exit 0