#! /bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src

# Test recognition of Perl format strings.

cat <<\EOF > f-pl-1.data
# Valid: no argument
"abc%%"
# Valid: one small integer argument
"abc%c"
# Valid: one string argument
"abc%s"
# Valid: one scalar vector argument
"abc%_"
# Valid: one pointer argument
"abc%p"
# Valid: one integer argument
"abc%i"
# Valid: one integer argument
"abc%d"
# Valid: one integer argument
"abc%D"
# Valid: one integer argument
"abc%u"
# Valid: one integer argument
"abc%U"
# Valid: one integer argument
"abc%b"
# Valid: one integer argument
"abc%o"
# Valid: one integer argument
"abc%O"
# Valid: one integer argument
"abc%x"
# Valid: one integer argument
"abc%X"
# Valid: one floating-point argument
"abc%e"
# Valid: one floating-point argument
"abc%E"
# Valid: one floating-point argument
"abc%f"
# Valid: one floating-point argument
"abc%F"
# Valid: one floating-point argument
"abc%g"
# Valid: one floating-point argument
"abc%G"
# Valid: one argument with flags
"abc%0#g"
# Valid: one argument with width
"abc%2g"
# Valid: one argument with width
"abc%*g"
# Valid: one argument with precision
"abc%.4g"
# Valid: one argument with precision
"abc%.*g"
# Valid: one argument with width and precision
"abc%14.4g"
# Valid: one argument with width and precision
"abc%14.*g"
# Valid: one argument with width and precision
"abc%*.4g"
# Valid: one argument with width and precision
"abc%*.*g"
# Valid: one argument with size specifier
"abc%hi"
# Valid: one argument with size specifier
"abc%li"
# Valid: one argument with size specifier
"abc%lli"
# Valid: one argument with size specifier
"abc%Lg"
# Valid: one argument with size specifier
"abc%qi"
# Valid: one argument with size specifier
"abc%Vi"
# Valid: one argument with size specifier
"abc%I32i"
# Valid: one argument with size specifier
"abc%I64i"
# Valid: one argument with size specifier
"abc%Ii"
# Invalid: unterminated
"abc%"
# Invalid: unknown format specifier
"abc%y"
# Invalid: flags after width
"abc%*0g"
# Invalid: twice precision
"abc%.4.2g"
# Valid: three arguments
"abc%d%u%u"
# Valid: a numbered argument
"abc%1$d"
# Invalid: zero
"abc%0$d"
# Valid: two-digit numbered arguments
"abc%11$def%10$dgh%9$dij%8$dkl%7$dmn%6$dop%5$dqr%4$dst%3$duv%2$dwx%1$dyz"
# Invalid: unterminated number
"abc%1"
# Invalid: flags before number
"abc%+1$d"
# Valid: three arguments, two with same number
"abc%1$4x,%2$c,%1$u"
# Invalid: argument with conflicting types
"abc%1$4x,%2$c,%1$s"
# Valid: no conflict
"abc%1$4x,%2$c,%1$u"
# Valid: mixing of numbered and unnumbered arguments
"abc%d%2$x"
# Valid: numbered argument with constant precision
"abc%1$.9x"
# Valid: mixing of numbered and unnumbered arguments
"abc%2$.*x"
# Valid: missing non-final argument
"abc%2$x%3$s"
# Valid: permutation
"abc%2$ddef%1$d"
# Valid: multiple uses of same argument
"abc%2$xdef%1$pghi%2$x"
# Valid: one argument with width
"abc%2$#*1$g"
# Valid: one argument with width and precision
"abc%3$*2$.*1$g"
# Invalid: zero
"abc%2$*0$.*1$g"
EOF

: ${XGETTEXT=xgettext}
n=0
while read comment; do
  read string
  n=`expr $n + 1`
  sed -e 's,\$,\\$,g' <<EOF > f-pl-1-$n.in
gettext(${string});
EOF
  ${XGETTEXT} -L Perl -o f-pl-1-$n.po f-pl-1-$n.in || Exit 1
  test -f f-pl-1-$n.po || Exit 1
  fail=
  if echo "$comment" | grep 'Valid:' > /dev/null; then
    if grep perl-format f-pl-1-$n.po > /dev/null; then
      :
    else
      fail=yes
    fi
  else
    if grep perl-format f-pl-1-$n.po > /dev/null; then
      fail=yes
    else
      :
    fi
  fi
  if test -n "$fail"; then
    echo "Format string recognition error:" 1>&2
    cat f-pl-1-$n.in 1>&2
    echo "Got:" 1>&2
    cat f-pl-1-$n.po 1>&2
    Exit 1
  fi
  rm -f f-pl-1-$n.in f-pl-1-$n.po
done < f-pl-1.data

Exit 0
