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

# Test checking of Boost format strings.

cat <<\EOF > f-bo-2.data
# Valid: %% doesn't count
msgid  "abc%%def"
msgstr "xyz"
# Invalid: invalid msgstr
msgid  "abc%%def"
msgstr "xyz%"
# Valid: same arguments
msgid  "abc%s%gdef"
msgstr "xyz%s%g"
# Valid: same arguments, despite different syntax
msgid  "abc%s%gdef"
msgstr "xyz%|s|%|g|"
# Valid: same arguments, with different widths
msgid  "abc%2sdef"
msgstr "xyz%3s"
# Valid: same arguments but in numbered syntax
msgid  "abc%s%gdef"
msgstr "xyz%1$s%2$g"
# Valid: same arguments but in numbered syntax
msgid  "abc%s%gdef"
msgstr "xyz%1%%2$g"
# Valid: permutation
msgid  "abc%s%g%cdef"
msgstr "xyz%3$c%2$g%1$s"
# Invalid: too few arguments
msgid  "abc%2$udef%1$s"
msgstr "xyz%1$s"
# Invalid: too few arguments
msgid  "abc%sdef%u"
msgstr "xyz%s"
# Invalid: too many arguments
msgid  "abc%udef"
msgstr "xyz%uvw%c"
# Valid: same numbered arguments, with different widths
msgid  "abc%2$5s%1$4s"
msgstr "xyz%2$4s%1$5s"
# Invalid: missing argument
msgid  "abc%2$sdef%1$u"
msgstr "xyz%1$u"
# Invalid: missing argument
msgid  "abc%1$sdef%2$u"
msgstr "xyz%2$u"
# Invalid: added argument
msgid  "abc%1$udef"
msgstr "xyz%1$uvw%2$c"
# Valid: type compatibility
msgid  "abc%i"
msgstr "xyz%d"
# Valid: type compatibility
msgid  "abc%i"
msgstr "xyz%o"
# Valid: type compatibility
msgid  "abc%i"
msgstr "xyz%u"
# Valid: type compatibility
msgid  "abc%i"
msgstr "xyz%x"
# Valid: type compatibility
msgid  "abc%i"
msgstr "xyz%X"
# Valid: type compatibility
msgid  "abc%e"
msgstr "xyz%E"
# Valid: type compatibility
msgid  "abc%e"
msgstr "xyz%f"
# Valid: type compatibility
msgid  "abc%e"
msgstr "xyz%g"
# Valid: type compatibility
msgid  "abc%e"
msgstr "xyz%G"
# Invalid: type incompatibility
msgid  "abc%c"
msgstr "xyz%s"
# Invalid: type incompatibility
msgid  "abc%c"
msgstr "xyz%i"
# Invalid: type incompatibility
msgid  "abc%c"
msgstr "xyz%e"
# Invalid: type incompatibility
msgid  "abc%c"
msgstr "xyz%p"
# Invalid: different argument count
msgid  "abc%c"
msgstr "xyz%n"
# Invalid: type incompatibility
msgid  "abc%s"
msgstr "xyz%i"
# Invalid: type incompatibility
msgid  "abc%s"
msgstr "xyz%e"
# Invalid: type incompatibility
msgid  "abc%s"
msgstr "xyz%p"
# Invalid: different argument count
msgid  "abc%s"
msgstr "xyz%n"
# Invalid: type incompatibility
msgid  "abc%i"
msgstr "xyz%e"
# Invalid: type incompatibility
msgid  "abc%i"
msgstr "xyz%p"
# Invalid: different argument count
msgid  "abc%i"
msgstr "xyz%n"
# Invalid: type incompatibility
msgid  "abc%e"
msgstr "xyz%p"
# Invalid: different argument count
msgid  "abc%e"
msgstr "xyz%n"
# Invalid: different argument count
msgid  "abc%p"
msgstr "xyz%n"
# Valid: size is ignored
msgid  "abc%i"
msgstr "xyz%hhi"
# Valid: size is ignored
msgid  "abc%i"
msgstr "xyz%hi"
# Valid: size is ignored
msgid  "abc%i"
msgstr "xyz%li"
# Valid: size is ignored
msgid  "abc%i"
msgstr "xyz%lli"
# Valid: size is ignored
msgid  "abc%i"
msgstr "xyz%Li"
# Valid: size is ignored
msgid  "abc%hhi"
msgstr "xyz%hi"
# Valid: size is ignored
msgid  "abc%hhi"
msgstr "xyz%li"
# Valid: size is ignored
msgid  "abc%hhi"
msgstr "xyz%lli"
# Valid: size is ignored
msgid  "abc%hhi"
msgstr "xyz%Li"
# Valid: size is ignored
msgid  "abc%hi"
msgstr "xyz%li"
# Valid: size is ignored
msgid  "abc%hi"
msgstr "xyz%lli"
# Valid: size is ignored
msgid  "abc%hi"
msgstr "xyz%Li"
# Valid: size is ignored
msgid  "abc%li"
msgstr "xyz%lli"
# Valid: size is ignored
msgid  "abc%li"
msgstr "xyz%Li"
# Invalid: type incompatibility for width
msgid  "abc%g%*g"
msgstr "xyz%*g%g"
EOF

: ${MSGFMT=msgfmt}
n=0
while read comment; do
  read msgid_line
  read msgstr_line
  n=`expr $n + 1`
  cat <<EOF > f-bo-2-$n.po
#, boost-format
${msgid_line}
${msgstr_line}
EOF
  fail=
  if echo "$comment" | grep 'Valid:' > /dev/null; then
    if ${MSGFMT} --check-format -o f-bo-2-$n.mo f-bo-2-$n.po; then
      :
    else
      fail=yes
    fi
  else
    ${MSGFMT} --check-format -o f-bo-2-$n.mo f-bo-2-$n.po 2> /dev/null
    if test $? = 1; then
      :
    else
      fail=yes
    fi
  fi
  if test -n "$fail"; then
    echo "Format string checking error:" 1>&2
    cat f-bo-2-$n.po 1>&2
    Exit 1
  fi
  rm -f f-bo-2-$n.po f-bo-2-$n.mo
done < f-bo-2.data

Exit 0
